meridian-etl

Featured

Debug and work with Meridian's ETL pipeline. Covers session boundary detection, cursor management, DB queries, and common failure modes.

Data & Documents 336 stars 23 forks Updated 5 days ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Meridian ETL Skill ## How the ETL Works ``` screenpipe.db (read-only) │ ▼ runner.rs ← src/etl/runner.rs polls every POLL_INTERVAL_SECS │ ├─ get_frames_since(cursor) ← src/db/screenpipe.rs │ returns new frames since last processed frame_id │ ├─ detect_boundaries() │ splits frames into blocks by focused_app change │ ├─ extract_block_context() ← src/etl/extractor.rs │ OCR samples, window titles, audio snippets, signals │ ├─ upsert active_session ← src/db/meridian.rs │ (current open block, updated each poll) │ └─ insert completed app_sessions (previous blocks, now closed) ``` ## Key Concepts | Concept | What it is | |---------|-----------| | **cursor** | `last_frame_id` in `etl_cursor` — marks where ETL left off | | **app-switch boundary** | frame where `focused_app` differs from the previous frame | | **active_session** | the currently-open, in-progress session (one row, upserted) | | **app_sessions** | completed, closed sessions with final timestamps | | **category / confidence** | AI-assigned activity category and confidence score on each session | | **gaps** | `user_idle` or `system_sleep` periods between sessions | ## Running with Verbose Logging ```bash RUST_LOG=debug ./target/release/meridian RUST_LOG=meridian=trace ./target/release/meridian # trace-level for ETL internals ``` ## Useful Debug Queries ```bash # O...

Details

Author
Meridiona
Repository
Meridiona/meridian
Created
4 months ago
Last Updated
5 days ago
Language
Rust
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category