# Beta Notes and Known Issues Practical notes for the Closed Beta: what to lean on, how the provided dataset behaves, and the current limitations. For setup and tips see Getting Started; for problem-solving see the [Troubleshooting guide](https://docs.agentic-data.com/docs/reference/troubleshooting). ADI's value in the Beta is turning a correct definition into a reusable, shared rule: once a metric is authored and validated, every session and every teammate working from that contract gets the same answer without re-deriving it. ## Working with the synthetic dataset The provided DuckDB dataset covers a fixed date range, so queries filtered to dates outside that range return valid but empty results. Prefer relative time windows, or remove the time filter to confirm data exists, then add it back. The dataset is deliberately messy (duplicate records, multiple currencies, mixed-case values, PII). That is intentional: it lets you see how the contract deduplicates, converts currency, and refuses PII group-bys. The provided contract already handles these, so lean on it rather than reworking the data by hand. ## Current limitations A short, honest list of what to expect while the Beta matures. These are being worked on. - **You run the generated SQL yourself, and a validated query can still fail when you run it.** At t1 the SQL runs in your own environment. A clean validation confirms the contract is well-formed and the SQL was compiled from it; it does not guarantee the query runs, since an underlying column type can still cause a failure at execution. - **A clean `adi.validate` at t1 checks structure and meaning, not your real tables.** Validation does not reach your warehouse at t1, so a clean result does not confirm the contract matches your actual schema. - **Multi-metric requests** are supported when the metrics share a base entity; requests spanning unrelated base entities are refused (`join_path_absent`). - **Some measures cannot yet be expressed as governed metrics** (for example medians and percentiles, or figures held in encoded column types). Where a figure has to be composed outside the contract, that is flagged. - **Query-request filter operators are lowercase.** In the request your agent sends, use `in`, not `IN`; an uppercase operator is refused as `request_malformed`. The contract's own `default_filters` use SQL-style uppercase operators, which is a separate authoring schema. - **Absolute date ranges are inclusive at both ends.** `start` and `end` each cover their full calendar day, so a range ending `2026-06-30` includes all of the 30th. To exclude the final day, for example to get a clean month boundary, set `end` to the day before, or add a separate `<` filter on the time column rather than relying on the range alone.