Current fan-in validation is based on issubclass(). Parameterized annotations such as dict[str, RegularSurface] and list[RegularSurface] are not ordinary classes and cannot be validated reliably with issubclass.
TaskMaestro should compare annotations recursively or use Pydantic TypeAdapter:
- validate collection origin (
dict, list, and so on);
- validate key and value types;
- support unions and optional values;
- provide an error showing the complete upstream and downstream annotations.
Current fan-in validation is based on
issubclass(). Parameterized annotations such asdict[str, RegularSurface]andlist[RegularSurface]are not ordinary classes and cannot be validated reliably withissubclass.TaskMaestro should compare annotations recursively or use Pydantic
TypeAdapter:dict,list, and so on);