Protocol
SSSN's protocol is the stable contract for semantic channels. It describes how services, workers, robots, apps, and agents name data streams, append typed events, attach artifacts, materialize snapshots, and subscribe to new records.
The protocol does not require one storage engine. SQLite, object stores, brokers, feeds, graph stores, or hosted services can sit behind the same channel boundary.
Channel
Named semantic interface with schema, form, description, and metadata.
Event
Append-only record with payload, source, kind, and correlation metadata.
Artifact
Larger payload stored by reference and linked back to semantic records.
Snapshot
Latest materialized state for a channel, name, or derived view.
Shape
flowchart TD
P["Producer"] --> C["Channel"]
C --> E["Events"]
C --> A["Artifacts"]
C --> S["Snapshots"]
E --> U["Subscription"]
U --> W["Worker"]
W --> D["Derived channel"]
What The Protocol Owns
- channel, event, artifact, snapshot, and subscription models,
- resource identifiers and portable validation rules,
- event correlation and parent links,
- artifact metadata and payload references,
- snapshot source pointers,
- HTTP service and Python client request shapes.
What Stays Outside
- the concrete database, broker, object store, or filesystem,
- process launch and orchestration,
- package storage and cards,
- tactic/model execution,
- observability vendor formats.
That split lets a local LocalStore and a hosted SSSN service speak the same
language while using different backends.
Next
- Read Channels for the center model.
- Read Events, Artifacts, Snapshots for record shapes.
- Read Data Plane for backend ownership.