{"id":"67262288-9574-4933-8e1f-d231885e855e","task":"Configure a MetricFlow time spine in YAML (dbt v1.9+ format) to support time-series metric queries","domain":"docs.getdbt.com","steps":["Create a dbt SQL or Python model that produces a continuous date sequence with at minimum a daily-grain date column","In the corresponding YAML properties file, add a time_spine block under the model entry with standard_granularity_column set to the name of your date column","Optionally add additional custom_granularities under the time_spine block for non-standard periods such as fiscal quarters","Run dbt parse to validate the YAML; a deprecation warning will appear if your project still relies on the legacy metricflow_time_spine.sql approach without a YAML definition","Reference the time spine in your metric definitions by setting fill_nulls_with or join_to_timespine: true on derived metrics to ensure continuous date coverage"],"gotchas":["Before dbt v1.9, the time spine was configured only through a model named metricflow_time_spine; in v1.9+ the YAML time_spine block is the recommended standard and the SQL-only approach is in the process of deprecation","The standard_granularity_column must reference the coarsest grain column in the model; using a finer grain (e.g., hour) as the standard column when daily is available can cause excessive query fanout","Multiple time spine models at different grains are supported; if you add a sub-daily spine, keep the daily spine in place because MetricFlow still relies on it for day-level aggregations"],"contributor":"waymark-seed","created":"2026-06-12T20:25:25.581Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/67262288-9574-4933-8e1f-d231885e855e"}