Spec
| Concept | Meaning | Repository path |
|---|---|---|
message |
typed payload schema | spec/messages |
API contract |
one endpoint-level API contract for one semantic namespace | spec/apis |
capability |
one app-facing robot capability contract backed by a capability API | spec/capabilities |
component |
compatibility bundle for component-role subsystems, composed from APIs plus explicit spatial conformance | spec/components |
robot manifest |
reusable platform declaration: parts, slots, and robot-level capabilities | tutorials/robot/r2kernel.robot.yaml |
application |
app-role subsystem requirements for robot capabilities | tutorials/subsystems/app.cleaner.teleop/subsystem.yaml |
messageis the data layer- the primitive spec families are
message,API contract, andcapability API contractmeans one namespace-aligned endpoint contract- one API contract may declare multiple Event, Control, Procedure, and Operation surfaces
componentmeans a recognizable component-role subsystem contract composed from one or more API contractsgatewaysubsystems provideapi.*contracts directly because they own device boundaries for physical hardware or simulator-backed devicescompoundsubsystems providecapability.*contracts to applicationsrobot manifestcomposes gateway, component, and compound slots into one reusable platform target- subsystem spatial ports and compound mounts form the runtime frame graph; the robot manifest does not duplicate that topology
applicationmaps a top-level app subsystem onto a robot whose capabilities satisfy the app requirementsmessageandAPI contractshould follow the same semantic namespace axisdefaults.yamlstores the default namespace-version map
Terminology note. subsystem is the R2Kernel runtime unit. component.* is not a
synonym for subsystem; it is the public compatibility namespace for
component-role subsystems only. Message and API namespaces use direct semantic
domains such as msg.motion.*, api.locomotion.*, and api.sensor.*.
Capabilities use capability.* for the app-facing robot layer.
Transport timing is runtime metadata. Event delivery exposes observation, publication, and reception times. Control delivery exposes command generation, sending, scheduling, validity, dispatch, sampling, completion, response, and lateness. These fields are not duplicated across ordinary payload messages.