diff --git a/tron/config/schema.py b/tron/config/schema.py index 2223009f3..bfb608635 100644 --- a/tron/config/schema.py +++ b/tron/config/schema.py @@ -218,8 +218,11 @@ def _asdict(self) -> dict: d = super()._asdict().copy() items = d.get("items", []) if items is not None and items: - # let's not assume items is an array. Because it can also be a tuple as we've seen in DAR-2044. - # Since the source of tuple is not know, let's fix the single culprit of this array assumption. + # the config parsing code appears to be turning arrays into tuples - however, updating the + # code we think is at fault breaks a non-trivial amount of tests. in the interest of time, we're + # just casting to a list here, but we should eventually circle back here + # and either ensure that we always get a list from the config parse code OR document that we're + # expecting Tron's config parsing code to return immutable data if this is behavior we want to depend on. d["items"] = list(d["items"]) for i, item in enumerate(items): if isinstance(item, ConfigSecretVolumeItem):