Capabilities state which operations a model adapter can perform for each signal.
Operation input contracts are data contracts and do not depend on tap structures.
CrucibleSignal.Operation.required_inputs(:route_on)
CrucibleSignal.Operation.describe("steer-model")