In #25, the user described having a defect in which adding a deprecation date at the version level resulted in a dbt run failure. I determined that this was the result of how dbt-loom was deserializing datetime values from manifest files. Specifically, these values were being deserialized into strings and not into valid date times.
To resolve this issue, and to stabilize how dbt-loom interfaces with the dbt-core manifest, I've created a basic pydantic model to handle serde operations with manifests. So far, tests have shown that this resolves our issue, and will help mitigate other unexpected type issues in the future.
Description and Motivation
In #25, the user described having a defect in which adding a deprecation date at the version level resulted in a dbt run failure. I determined that this was the result of how
dbt-loom
was deserializing datetime values from manifest files. Specifically, these values were being deserialized into strings and not into valid date times.To resolve this issue, and to stabilize how
dbt-loom
interfaces with the dbt-core manifest, I've created a basic pydantic model to handle serde operations with manifests. So far, tests have shown that this resolves our issue, and will help mitigate other unexpected type issues in the future.