code: def schema_complete():
          
          return Schema({
              'stage': And(str, len),
              'timestamp': int,
              'status': And(str, lambda s: s in ['started', 'succeeded', 'failed']),
              # optional matrix
              Optional('matrix', default='default'): And(str, len),
              # optional information
              Optional('information', default={}): {
                  Optional(Regex(r'([a-z][_a-z]*)')): object
              }
          })
docs: Schema for data in CollectorUpdate.