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.
Metadata
Release files for runopsy-collector 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runopsy_collector-0.1.9.tar.gz | 23.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runopsy_collector-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.2 kB
Release files / runopsy_collector-0.1.9.tar.gz
| Download URL | runopsy_collector-0.1.9.tar.gz |
|---|---|
| Size | 23.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
052cd31b69004e81e99d87ef9035f487cd85a4c0865017423eb766296f104bfc
|
|
BLAKE2b-256 checksum How to use checksums |
8c7e378f23541a902eeade792f4ce2f7558e47eeba47b40106ceb39083019660
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / runopsy_collector-0.1.9-py3-none-any.whl
| Download URL | runopsy_collector-0.1.9-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9a08cce71ec23ffc317efe15878c1de3619875b4c6889a989d4032febe9d21a
|
|
BLAKE2b-256 checksum How to use checksums |
cd5b651b97400244d6dcfb822aff4ccca2d55004afc11bda0def7cf319cd5acf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|