Use pydantic structures for Task.data

Currently Task.data is a dict with some json schema validation. This works, with some shortcomings:

  • it does not play well with python typing
  • it does not validate in some cases (see #207)

Task.data can be ported to a pydantic structure specific to each Task

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information