Skip to content

Items, Actions & Events

Inside an instance, everything is built from three primitives: items, actions and events.

An item is a versioned, schema-typed record — the unit of data in Signals. Examples: a participant profile_1.0, a job posting, a service offer.

  • item_type is always a schema identifier such as profile_1.0, never freeform text.
  • item_instance_url and item_schema_url are generated by the backend at creation time. Clients must not set them.
  • Item tables are partitioned in the database; queries use partition-aware helpers so the planner can prune efficiently.

An action is an interaction between items — for example a seeker expressing interest in a provider’s posting, or an aggregator linking a participant to an opportunity. Actions are the verbs of the system.

An event is the structured result of an action — the durable, machine-readable record that “X expressed interest in Y at time T”. Events are what downstream analytics and impact measurement consume.

An action (for example, apply) connects a seeker item to a provider item, and produces an event — the structured, persisted result

A signal lifecycle, in these terms:

  1. Create items for the seeker and provider.
  2. The network discovers compatible items.
  3. An action connects two items.
  4. An event records the outcome — feeding match-quality improvements and district-level impact metrics.

For how items are read locally vs. across the network, and how they are written, see Read & Write Paths. For the full term list, see the Glossary.