Skip to content

Glossary

Plasma has a compact but precise vocabulary. These terms recur throughout the docs.

Component model

Component : The unit of everything in Plasma — a single-purpose, reusable, versioned piece living at src/<layer>/<kind>/<name>/. Carries metadata and the tasks to build and configure it.

Function : HOW. A universal computation that performs one operation with generic parameters. One function serves many use cases.

Skill : WHAT. A function configured for a specific use case with concrete parameter values.

Agent : WHEN. The event-driven orchestration unit. An agent holds a repertoire of skills, embeds its own trigger (a channel subscription or a cron schedule), and selects a skill based on the incoming situation. (Formerly: executor + flow.)

Software : HOW. A program providing a computational capability (e.g. Postgres, Grafana).

Service : WHAT. Software configured for a specific deployment context.

Application : WHEN. An orchestration of multiple services into a business capability.

The two triads

Plasma has two parallel patterns, both HOW → WHAT → WHEN: Function → Skill → Agent (event-driven logic) and Software → Service → Application (infrastructure).

Entity : A digital representation of a real-world thing (Person, Project, Utterance). Defines what exists.

Metric : A measurement (Engagement, Sentiment, Risk). Defines how to measure.

Library : Reusable code abstracting complex functionality.

Structure & deployment

Package : A repository of related components bundled for deployment (e.g. plasma-core).

Model : A blueprint composing packages into a deployable platform (e.g. ta, The Agency).

Platform : A materialized model running on real infrastructure.

Topology : The platform's structural "skeleton" — the arrangement of zones that maps logical architecture to physical resources.

Zone : A unit of the topology (e.g. platform.cognition.data). Components distribute to zones; nodes allocate to zones. Managed with plasmactl zone.

Node : A physical or virtual machine providing compute. Allocates to one or more zones.

Naming & identity

MRN (Machine Resource Name) : A component's full name (e.g. interaction.applications.dashboards).

MRSN / MRK / MRV / MRT : Short name · kind · version (git commit hash) · tags.

MRC (Machine Resource Channel) : The channel a component publishes/subscribes on. The channel IS the situation — its name encodes both perception and interpretation.

Patterns

ECST (Event-Carried State Transfer) : Events carry the complete state needed to process them — no back-queries to source systems. The basis of Plasma's loose coupling.

DIKW : The analytics hierarchy the Cognition layer climbs: Data → Information → Knowledge → Wisdom.

Ontology : Entities + Metrics together — the stable data contract between systems, defined in Protobuf.

Choreography (vs central workflows) : Behavior emerges from channel topology; each agent is its own micro-orchestrator, but no central workflow sequences the agents. There is no central coordinator or external scheduler.

Bus : A layer's message transport, tuned to its semantics (NATS for Integration, Kafka for Cognition, Matrix/Synapse for Conversation).

Relay : The only cross-layer coupling point — a Benthos/Bento process moving data between buses with backpressure.

Trigger : What fires an agent: a channel subscription (reactive) or a cron schedule (proactive). Part of the agent, not an external scheduler.

Situation : The interpreted meaning of a channel. Subscribing to a channel resolves both surveillance and situation at design time.

Lifecycle

Composition (compose.yaml) : How a platform declares the packages it depends on; merged by model:compose.

Builder : The abstraction that turns a component into a deployable artifact (application_builder → K8s manifests, service_builder → Docker images, …). Never use raw docker/kubectl.

Bump (component:bump) : Updates component versions to the current git hash and cascades the change through the dependency tree. Always run before pushing.

machine_env : The canonical environment discriminator (dev / prod / sandbox), selected at deploy time.