code: def signature(cls):
      
      snake_scope = cls.options_scope.replace('-', '_')
      partial_construct_optionable = functools.partial(_construct_optionable, cls)
      partial_construct_optionable.__name__ = 'construct_scope_{}'.format(snake_scope)
      return dict(
          output_type=cls.optionable_cls,
          input_selectors=tuple(),
          func=partial_construct_optionable,
          input_gets=(Get.create_statically_for_rule_graph(ScopedOptions, Scope),),
          dependency_optionables=(cls.optionable_cls,),
        )
docs: Returns kwargs to construct a `TaskRule` that will construct the target Optionable.
  
      TODO: This indirection avoids a cycle between this module and the `rules` module.