Append-only local ingest and queryable storage for Runopsy traces
Project description
runopsy-collector
Local, append-only ingest for normalized trace events.
Storage has two layers and they are not equal partners. The JSONL journal is the
source of truth: one append-only file per run, written with sorted keys so the same
run always serializes to the same bytes. DuckDB is a derived index built from those
journals to make runs queryable, and it can be thrown away and rebuilt at any time with
Collector.rebuild().
That asymmetry is deliberate. An agent run fails at unpredictable moments, often taking the process with it, and a half-written database is a far more likely outcome than a half-written append. Keeping the plain log authoritative means a crashed run is still diagnosable, a corrupted index is a one-command repair rather than lost history, and a user can read their own trace with nothing but a text editor.
Ingest is idempotent on event_id, so an adapter that retries a write cannot duplicate
a step and inflate a loop detector's count.
Nothing here reaches the network. Content is referenced by hash, and the
contains_secret flag travels with each event so export and payload minimization can
consult it before anything leaves the machine.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runopsy_collector-0.1.8.tar.gz.
File metadata
- Download URL: runopsy_collector-0.1.8.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7335da42c36ee10a4f8546a5b358a1abc7a60eac60c37514f44280d846424c4
|
|
| MD5 |
e29fbcebbf434501cefbdd228eeae75f
|
|
| BLAKE2b-256 |
22d5904912c32a46a3595a7ae9abde85c80173e3d78492d2a2edf4e455134229
|
File details
Details for the file runopsy_collector-0.1.8-py3-none-any.whl.
File metadata
- Download URL: runopsy_collector-0.1.8-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d970ef8f793932eb2f038217eea575b9b1a45548fc21b28e04ed76a60152ec39
|
|
| MD5 |
6f2b466ffe55114c2dd4dbcd98d17d98
|
|
| BLAKE2b-256 |
145cce6f413a714b592a97346656fc6f382a3b6625290a2a88d55b94efeb833e
|