Action
Purpose
Defines an interaction that may occur between Objects.
An Action describes behavior, not implementation. It expresses what interactions are possible within the canonical model without prescribing how they are performed.
Responsibilities
- Define interactions that Objects may perform.
- Define interactions that Objects may receive.
- Provide a canonical description of available behavior.
- Support discovery of capabilities across runtimes and services.
Used By
- Dataset
- Object
- Runtime
- World
- Mind
Structure
An Action contains:
- id
- type
- name
- description
- actor
- target
- parameters
- result
- metadata
The canonical structure is defined in action.json.
Semantics
An Action represents a capability rather than an event.
Actions are not executions or history. They describe what may occur.
For example:
- open
- close
- edit
- reply
- join
- leave
- save
- share
- navigate
- purchase
Actions may exist independently or be associated with one or more Objects.
An Object may:
- perform an Action on itself. "local"
- perform an Action on another Object. "outbound"
- receive an Action from another Object. "inbound"
Scope
Actions describe interactions only.
They do not define:
- business logic
- permissions
- implementation
- user interface
- execution history
Those concerns belong to the systems that consume the canonical model.
Invariants
- Every Action has a unique identifier within a Dataset.
- An Action represents a capability, not an occurrence.
- Actions are immutable descriptions within a Dataset.
- Execution state is outside the canonical model.
Related Models
- Object
- Relationship
- Collection
- Dataset