docs: def audit(*args):
      """Decorator to register an audit.
  
      These are used to generate audits that can be run on a
      deployed system that matches the given configuration
  
      :param args: List of functions to filter tests against
      :type args: List[Callable[Dict]]
      """
      def wrapper(f):
          test_name = f.__name__
          if _audits.get(test_name):
              raise RuntimeError(
                  "Test name '{}' used more than once"
                  .format(test_name))
          non_callables = [fn for fn in args if not callable(fn)]
          if non_callables:
              raise RuntimeError(
                  "Configuration includes non-callable filters: {}"
                  .format(non_callables))
          _audits[test_name] = Audit(func=f, filters=args)
          return f
      return wrapper