Local-first · append-only · replayable

The event spine for a local machine.

Sinex captures activity as typed, timestamped events; carries it through a durable stream; preserves it in an append-only PostgreSQL log; and rebuilds queryable state through explicit, replay-aware derivations.

Runtime architecture

Observe once. Preserve the evidence. Rebuild the views.

The system keeps ingestion, transport, canonical persistence, and derived state distinct so that capture can evolve without turning historical data into an opaque application database.

01 · Sources

Observe

Filesystem, terminal, desktop, browser, system, and export adapters emit typed material-provenance events.

02 · JetStream

Carry

NATS subjects provide an explicit transport boundary, backpressure policy, and replayable delivery.

03 · Event engine

Preserve

A single canonical write path validates and appends events, provenance, blobs, and operational receipts.

04 · Automata + API

Derive and query

Checkpointed automata rebuild state; sinexctl and the hardened API expose control and read surfaces.

System properties

Durability is a behavior, not a storage slogan

Append-only truth

Corrections are events too

Canonical records are never silently rewritten. Corrections, curation, and interpretation retain their own authority and provenance.

Replay-aware state

Derived products declare their contract

Automata carry source, temporal, declaration, epoch, and lane metadata so rebuilt results remain attributable.

Typed capture

Source shape stays visible

Staged materials, input adapters, parsers, and source contracts separate what was observed from how it was normalized.

Operated as a system

NixOS owns the deployed boundary

Services, PostgreSQL, NATS, TLS, authorization, backups, and systemd hardening are composed declaratively.

Documentation

Start from the boundary you are changing