MHS-AGenerated

Core Capability Catalogue

Development draft 0.917 min read3,797 words
On this page 17 sections
  1. World (7 classes)
  2. Motion (9 classes)
  3. Manipulation (4 classes)
  4. Sensing (5 classes)
  5. Fluid (6 classes)
  6. Sample (6 classes)
  7. Imaging (3 classes)
  8. Optics (3 classes)
  9. Measure (9 classes)
  10. Thermal (1 class)
  11. Actuation (3 classes)
  12. Compute (2 classes)
  13. Process (1 class)
  14. Device (4 classes)
  15. Deprecated classes (6)
  16. Resource kinds (51)
  17. Generated inventory
FieldValue
DocumentMHS-A (generated; informative in presentation, normative in content)
Generated fromcapabilities.json by python3 MHS/sdk/tools/gen_appendices.py — do not edit by hand
Layerappendix of the core: the capability catalogue (profiles.md §2)
Classes63
SpecificationOpenMHS 0.9 (wire revision 1)

This appendix is a generated projection of capabilities.json. The JSON file is the machine-readable registry source; this table is its reviewable rendering. Chapter MHS-003 §7 describes the catalogue; the JSON carries the full input and output schemas, units, limits and one example input per class. If this table and the JSON disagree, the JSON wins and this file MUST be regenerated.

Column meanings: Class — capability_id; Verb — read (never changes state or the revision), write (sets named parameters) or invoke (an action); Status — stable, experimental (binding requires x-mhs-experimental) or deprecated (still valid; see the replacement below); Profile — core, or sim for Sim/Fidelity profile classes that only simulated, hybrid or replay devices bind; Resource kinds — resource kind values the class may bind to (*: any kind the device declares); Risk — class-level risk floor (a binding MAY raise it, never lower it); Since — the OpenMHS specification release (spec_version, as MAJOR.MINOR.PATCH) that introduced the class in its current form, independent of the class MAJOR and of the wire revision. Tags are the registry search keys. Fields marked x-mhs-delta in the JSON (a tolerance or a rate in K, K/min) are temperature differences: conversions never apply the Kelvin/Celsius offset to them.

Distribution: world 7, motion 9, manipulation 4, sensing 5, fluid 6, sample 6, imaging 3, optics 3, measure 9, thermal 1, actuation 3, compute 2, process 1, device 4.

World (7 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.world.reset.v1invokestablesimworld.simReset the simulated world to a scenario start state and return the initial observation. When a seed is supplied the endpoint records it in the receipt; otherwise the endpoint's declared default seed applies.world reset, simulation start, scenario initialisation, seeded reset, episode startR00.9.0
cap.world.step.v1invokestablesimworld.simAdvance the simulated world by a bounded number of fixed timesteps, optionally applying an action for each step, and return the resulting observation and terminal flags.simulation step, advance time, apply action, physics tick, reinforcement learning stepR00.9.0
cap.world.state.v1readdeprecatedsimworld.simReturn the complete normative state of a simulated world together with its revision and canonical state hash.world state, simulation observation, state snapshot, read world, deterministic stateR00.9.0
cap.world.snapshot.v1invokedeprecatedsimworld.simCapture a restorable snapshot of the complete world state, including the revision and state hash, for deterministic restore later.snapshot, save state, checkpoint, restore point, deterministic captureR00.9.0
cap.world.restore.v1invokedeprecatedsimworld.simRestore the world to a previously captured snapshot, replacing the current state; the device revision advances and the state hash MUST equal the snapshot's.restore, load state, rollback, checkpoint restore, deterministic rewindR00.9.0
cap.world.render.v1invokestablesimworld.simRender the current simulated world through a named camera and return an image artifact reference. Rendering does not advance simulated time.render, camera, visualisation, image capture, headless renderingR00.9.0
cap.world.seed.v1writestablesimworld.simSet the seed used by the simulated world's random number generators for subsequent steps, without resetting the world. The accepted seed is echoed in the receipt.seed, random seed, reproducibility, determinism control, rngR00.9.0

Motion (9 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.motion.joint_position.v1invokestablecorerobot.arm, motion.axisCommand one or more actuated joints to target positions in joint space, optionally over a declared duration, and report whether the target was reached within tolerance.joint motion, move arm, joint position, trajectory, position controlR10.9.0
cap.motion.joint_velocity.v1invokestablecorerobot.arm, motion.axisCommand continuous joint velocities for a bounded duration. The operation stops at the end of the duration or when cancelled.joint velocity, velocity control, continuous motion, jog, bounded motionR10.9.0
cap.motion.joint_torque.v1invokeexperimentalcorerobot.armApply commanded joint torques for a bounded duration for compliant or force-controlled motion. Torque magnitude is bounded by the binding safety envelope.torque control, compliance, force control, joint torque, impedanceR20.9.0
cap.motion.cartesian_pose.v1invokestablecorerobot.armMove the tool centre point to a Cartesian position and orientation in a named frame. The endpoint solves inverse kinematics; an unreachable target is rejected before motion.cartesian motion, move to pose, inverse kinematics, tool centre point, waypointR10.9.0
cap.motion.cartesian_twist.v1invokeexperimentalcorerobot.armMove with a commanded linear and angular velocity for a bounded duration, in a named frame.velocity motion, twist, cartesian velocity, teleoperation, servoR10.9.0
cap.motion.mobile_base.v1invokestablecorerobot.mobile_baseDrive a mobile base with a commanded linear and angular velocity for a bounded duration, or to a target pose. Obstacle and zone limits are enforced by the binding safety envelope.mobile robot, base motion, drive, navigation, differential driveR20.9.0
cap.motion.stop.v1invokestablecorerobot.arm, robot.mobile_base, motion.axisStop all motion on the resource with a declared deceleration profile and report the stopping position. This capability is always cancellable=false and is exempt from rate limiting.stop, halt, decelerate, safe stop, emergency decelerationR10.9.0
cap.motion.home.v1invokeexperimentalcorerobot.arm, motion.axisDrive axes to their declared home position or reference switch, establishing the coordinate reference needed by other motion capabilities.homing, reference, calibration motion, home position, axis setupR10.9.0
cap.motion.estop.v1invokedeprecatedcorerobot.arm, robot.mobile_base, motion.axis, world.simEngage the device-level emergency stop: motion stops within the declared latency, outputs transition to the declared safe state, and the device latches until mhs.safety.reset.emergency stop, e-stop, halt device, safety stop, latchR00.9.0

Manipulation (4 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.manipulation.grasp.v1invokestablecorerobot.gripper, robot.armClose the gripper on a target object with a bounded force and report the achieved grasp width. A failed grasp is a completed operation with grasped=false, not a silent success.grasp, gripper close, pick object, force grasp, contactR10.9.0
cap.manipulation.release.v1invokeexperimentalcorerobot.gripperOpen the gripper to release the held object, optionally to a declared opening width, and report the achieved width.release, gripper open, drop object, ungrasp, place handoffR10.9.0
cap.manipulation.place.v1invokestablecorerobot.arm, robot.gripperPlace the held object at a declared target location with an approach height, release the gripper and verify the object is no longer held.place, put down, deposit, assembly, position objectR20.9.0
cap.manipulation.pick.v1invokestablecorerobot.arm, robot.gripperMove to a declared source, grasp the object, lift it by a declared clearance and verify the grasp still holds. Combines cartesian motion and grasp under one receipt.pick, pick and place, retrieve, lift object, bin pickingR20.9.0

Sensing (5 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.sensing.read.v1readstablecoresensor, sensor.imu, sensor.force_torqueRead the current value of one or more sensor channels and return the values with a sampling timestamp and a monotone sequence number. Volatile channels are also available by subscription.sensor read, telemetry, measurement, observation, channel valueR00.9.0
cap.sensing.image.v1invokestablecoresensor.cameraCapture a single image from a named camera with a declared resolution and exposure and return an image artifact reference.camera, image capture, snapshot, vision, photographR00.9.0
cap.sensing.point_cloud.v1invokestablecoresensor.depthCapture a depth point cloud over a declared range and return a point-cloud artifact reference with the point count and coordinate frame.point cloud, depth, lidar, 3d scan, range imageR00.9.0
cap.sensing.force_torque.v1readstablecoresensor.force_torqueRead the current force and torque vector in a declared frame and return the wrench with its sampling timestamp.force torque, wrench, contact force, load cell, six axisR00.9.0
cap.sensing.imu.v1readstablecoresensor.imuRead linear acceleration, angular velocity and orientation from an inertial measurement unit, with the declared reference frame and timestamp.imu, accelerometer, gyroscope, orientation, inertialR00.9.0

Fluid (6 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.fluid.aspirate.v1invokestablecorelab.liquid_handler, lab.pipetteDraw a specified volume of liquid from a declared labware well into a pipette tip, with a bounded flow rate and an optional liquid-level offset.liquid handling, pipetting, aspirate, volume, labwareR10.9.0
cap.fluid.dispense.v1invokestablecorelab.liquid_handler, lab.pipetteDispense a specified volume from the pipette into a declared labware well, with optional blowout and mixing after dispense.liquid handling, dispense, pipette, well, reagent additionR20.9.0
cap.fluid.transfer.v1invokestablecorelab.liquid_handler, lab.pipetteAspirate a volume from a source well and dispense it into a target well as one receipted operation, so a failed transfer cannot leave an untracked half-state.transfer, pipetting, liquid movement, plate to plate, reagent transferR20.9.0
cap.fluid.mix.v1invokeexperimentalcorelab.liquid_handler, lab.pipetteMix the contents of a declared well by repeated aspiration and dispense cycles at a bounded volume and speed.mix, homogenise, resuspend, agitation, well mixingR10.9.0
cap.fluid.wash.v1invokeexperimentalcorelab.liquid_handlerWash a declared well or the pipette tip with a bounded volume of wash solution, discarding waste to a declared waste container.wash, rinse, tip wash, well wash, decontaminationR10.9.0
cap.fluid.level.v1readexperimentalcorelab.liquid_handler, lab.labwareDetect and report the liquid level and estimated volume in a declared container using a declared detection method.liquid level, volume estimate, meniscus, capacitance detection, pressure detectionR00.9.0

Sample (6 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.sample.move.v1invokestablecorelab.sample, lab.labwareMove a sample, plate or other labware object from one declared location to another using the device's transport mechanism.move plate, transfer labware, sample transport, plate mover, carrierR10.9.0
cap.sample.incubate.v1invokestablecorelab.incubatorHold samples at a declared temperature, and optionally a declared atmosphere, for a declared duration. The achieved temperature and duration are reported in the output and receipt.incubate, temperature hold, cell culture, thermal protocol, environmental controlR20.9.0
cap.sample.centrifuge.v1invokestablecorelab.centrifugeSpin declared samples at a target speed for a declared duration, optionally at a controlled temperature, then report the achieved speed and duration.centrifuge, spin, pellet, phase separation, rpmR20.9.0
cap.sample.seal.v1invokeexperimentalcorelab.plate_sealerApply a declared seal type to a microplate and report completion; the seal consumable is recorded as a consumable use.seal plate, foil seal, adhesive seal, plate preparation, consumableR10.9.0
cap.sample.unseal.v1invokeexperimentalcorelab.plate_sealerRemove the seal from a microplate so that the wells are accessible, reporting completion.unseal, remove seal, peel, plate preparation, open plateR10.9.0
cap.sample.store.v1invokeexperimentalcorelab.storage, lab.samplePlace samples into a declared storage location at a declared temperature and record the storage location in the output so later retrieval is unambiguous.store, archive, cold storage, sample inventory, freezerR20.9.0

Imaging (3 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.imaging.capture.v1invokestablecoreinstrument.microscopeAcquire a microscope image of the current field of view for a declared channel, exposure, binning and region of interest, returning an image artifact.microscope, imaging, fluorescence, brightfield, camera acquisitionR00.9.0
cap.imaging.focus.v1invokestablecoreinstrument.microscopeMove the focus axis to a target Z position or run an autofocus search over a declared range, returning the achieved Z position and focus score.focus, autofocus, z stage, focal plane, sharpnessR10.9.0
cap.imaging.illumination.v1writestablecoreinstrument.microscope, light.sourceSet the illumination channel and intensity used for subsequent imaging or observation, with an optional bounded on-duration after which the light is turned off.illumination, light source, led, fluorescence excitation, brightnessR10.9.0

Optics (3 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.optics.set_power.v1writeexperimentalcoreoptics.laser, optics.sourceSet the emitted optical power of a laser or light source to a declared setpoint, optionally ramping over a declared duration. Bindings for class 3B+ sources raise the risk class to R3.laser power, optical power, excitation, setpoint, emission controlR20.9.0
cap.optics.shutter.v1invokeexperimentalcoreoptics.shutterOpen or close a mechanical or electronic shutter in the optical path, reporting the resulting state and, for an open shutter, the open duration.shutter, beam block, optical path, exposure control, safety shutterR20.9.0
cap.optics.align.v1invokeexperimentalcoreoptics.stage, optics.mirrorAdjust an optical element along declared axes until a target coupling or position is reached, reporting the achieved offset and alignment quality.alignment, optical alignment, coupling, mirror adjustment, beam steeringR20.9.0

Measure (9 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.measure.voltage.v1readstablecoreinstrument.dmm, instrument.smu, sensorMeasure a DC or RMS voltage on a declared channel or terminal pair and return the value with its sampling timestamp and measurement range.voltage, dmm, electrical measurement, potential difference, read channelR00.9.0
cap.measure.current.v1readstablecoreinstrument.dmm, instrument.smu, sensorMeasure current on a declared channel and return the value with its timestamp and range.current, amperage, dmm, electrical measurement, read channelR00.9.0
cap.measure.resistance.v1readstablecoreinstrument.dmm, sensorMeasure resistance or impedance on a declared channel and return the value with its timestamp and excitation method.resistance, ohmmeter, impedance, continuity, electrical measurementR00.9.0
cap.measure.spectrum.v1invokestablecoreinstrument.spectrometer, instrument.spectrophotometerAcquire an optical or mass spectrum over a declared wavelength or mass range and return the axis and intensity arrays, or an artifact reference for large spectra.spectrum, spectroscopy, absorbance, wavelength scan, spectral acquisitionR00.9.0
cap.measure.intensity.v1readstablecoreinstrument.spectrometer, sensor.opticalMeasure optical or radiant intensity at a declared wavelength or channel and return the value with its unit and integration time.intensity, photometry, optical power, fluorescence intensity, detector countR00.9.0
cap.measure.mass.v1readstablecoreinstrument.balance, sensorMeasure the mass on a balance or load cell and report the value and stability flag.mass, weighing, balance, gravimetry, load cellR00.9.0
cap.measure.temperature.v1readstablecoreinstrument.thermometer, sensor.temperature, instrument.incubatorMeasure temperature at a declared location and return the value with its timestamp and stability flag.temperature, thermometer, thermal measurement, probe, sensorR00.9.0
cap.measure.pressure.v1readstablecoresensor.pressure, instrument.gaugeMeasure absolute, gauge or differential pressure at a declared port and return the value with its reference and timestamp.pressure, gauge, vacuum, baratron, process sensorR00.9.0
cap.measure.flow.v1readstablecoresensor.flow, instrument.flowmeterMeasure volumetric or mass flow at a declared line and optionally the accumulated volume since a declared instant.flow, flow rate, flowmeter, liquid flow, gas flowR00.9.0

Thermal (1 class)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.thermal.setpoint.v1writestablecorethermal.zone, instrument.incubator, lab.thermal_blockSet the target temperature of a thermal zone and optionally wait for the zone to reach the setpoint within a declared tolerance.temperature control, setpoint, heater, thermal zone, rampR20.9.0

Actuation (3 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.actuation.gpio.v1writestablecoreio.gpio, io.digitalDrive a general-purpose output pin to a declared digital or analog value, reporting the applied value. The pin's electrical limits are declared per binding.gpio, digital output, relay, trigger, analog outputR10.9.0
cap.actuation.valve.v1writestablecoreactuation.valve, fluid.valveOpen, close or position a valve to a declared state, reporting the achieved position. The port routing map is declared per binding.valve, open valve, close valve, fluid routing, flow controlR10.9.0
cap.actuation.pump.v1invokestablecoreactuation.pump, fluid.pumpRun a pump at a declared flow rate for a declared duration or volume in a declared direction, reporting the volume moved.pump, infuse, withdraw, flow control, dosingR10.9.0

Compute (2 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.compute.submit.v1invokestablecorecompute.node, host.processRun a bounded command-line computation on the device host with a declared timeout and return exit code and stdout/stderr artifact references. Always R1 or higher.compute job, run command, analysis, script execution, bounded processR10.9.0
cap.compute.cancel.v1invokedeprecatedcorecompute.node, host.processCancel a previously submitted compute job and report the signal used and whether the job terminated.cancel job, kill process, abort compute, interrupt, stop analysisR00.9.0

Process (1 class)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.process.run.v1invokestablecoreprocess.controllerExecute a named, versioned process recipe on a process controller with declared parameters and return the exit status and a report artifact.process recipe, unit operation, batch process, recipe execution, process controlR20.9.0

Device (4 classes)

ClassVerbStatusProfileResource kindsSummaryTagsRiskSince
cap.device.describe.v1readdeprecatedcoredevice, world.sim, robot.arm, instrumentReturn the device's generated profile, identity, mode, capability list and the digest of its manifest, so an agent can re-orient without re-discovering the endpoint.device description, capabilities, self description, manifest, orientationR00.9.0
cap.device.calibrate.v1invokestablecorerobot.arm, instrument, sensor, optics.laserRun the device's calibration procedure against a declared reference or standard and return a calibration artifact reference and validity window.calibration, reference standard, zeroing, accuracy, metrologyR10.9.0
cap.device.self_test.v1invokestablecoredevice, instrument, robot.armRun the device's built-in self-test and return a pass/fail verdict with per-check results and a report artifact reference. Self-test does not certify safety.self test, diagnostics, bist, health check, fault detectionR10.9.0
cap.device.configure.v1writestablecore*Write one or more named parameters of a resource (setpoints, ranges, modes, gains) as a partial patch and report what was applied. The binding's effective input schema is derived from the writable properties of the bound resource's state_schema.configure, set parameter, write setting, named parameter, setpointR10.9.0

Deprecated classes (6)

These classes duplicate protocol methods. They stay valid and callable for their deprecation window (MHS-003 CAP-006, CAP-040); new drivers use the replacement.

ClassReplaced by
cap.world.state.v1mhs.resource.read
cap.world.snapshot.v1mhs.snapshot
cap.world.restore.v1mhs.restore
cap.motion.estop.v1mhs.safety.estop
cap.compute.cancel.v1mhs.operations.cancel
cap.device.describe.v1mhs.devices.get

Resource kinds (51)

The normative resource-kind vocabulary used by the classes above. A binding whose resource kind is not in its class's resource_kinds is MHS.CAPABILITY.KIND_MISMATCH. Overlapping kinds are cross-referenced; prefer one of them consistently.

KindTitleSee also
actuation.pumpPump actuatorfluid.pump
actuation.valveValve actuatorfluid.valve
compute.nodeCompute node
deviceWhole device (generic)
fluid.pumpFluid-handling pumpactuation.pump
fluid.valveFluid-routing valveactuation.valve
host.processHost process
instrumentInstrument (generic)
instrument.balanceBalance or scale
instrument.dmmDigital multimeter
instrument.flowmeterFlowmeter
instrument.gaugePressure or vacuum gauge
instrument.incubatorIncubator instrumentlab.incubator
instrument.microscopeMicroscope
instrument.smuSource-measure unit
instrument.spectrometerSpectrometer
instrument.spectrophotometerSpectrophotometer or plate reader
instrument.thermometerThermometer
io.digitalDigital I/O line
io.gpioGeneral-purpose I/O pin
lab.centrifugeCentrifuge
lab.incubatorLab incubatorinstrument.incubator
lab.labwareLabware (plate, tube, reservoir)
lab.liquid_handlerLiquid handler
lab.pipettePipette
lab.plate_sealerPlate sealer
lab.sampleSample or plate in transport
lab.storageSample storage
lab.thermal_blockThermal block or cycler
light.sourceLight sourceoptics.source, optics.laser
motion.axisMotion axis or stage
optics.laserLaseroptics.source, light.source
optics.mirrorOptical mirror mount
optics.shutterOptical shutter
optics.sourceOptical sourcelight.source, optics.laser
optics.stageOptical positioning stage
process.controllerProcess controller
robot.armRobot arm
robot.gripperGripper or end effector
robot.mobile_baseMobile robot base
sensorSensor (generic)
sensor.cameraCamera
sensor.depthDepth sensor or lidar
sensor.flowFlow sensor
sensor.force_torqueForce-torque sensor
sensor.imuInertial measurement unit
sensor.opticalOptical sensor
sensor.pressurePressure sensor
sensor.temperatureTemperature sensor
thermal.zoneThermal zone
world.simSimulated world (Sim profile)

Generated inventory

MetricValue
Classes63
read14
write7
invoke42
status stable44
status experimental13
status deprecated6
profile core56
profile sim7
R026
R123
R214
R3 (class-level floor; bindings may elevate)0
Requiring a permit at class level5
With declared safety limits17
Resource kinds51

CAP-046. Every class listed here MUST resolve via mhs.schema.get on an endpoint that binds it, and the returned class document MUST match the entry in capabilities.json for that capability_id.