> ## Documentation Index
> Fetch the complete documentation index at: https://braintrust.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Unexpected "Created" dates appearing under a "Created between" filter

> Understand why a "Created between" filter in Traces mode can match child spans while the "Created" column shows the root span's date.

export const plans_0 = "Any"

export const deployments_0 = "Any"

export const data_plane_version_0 = undefined

export const use_case_0 = "Use case - Created between filter in Logs Traces mode when the Created column shows an older date than the filter range"

<Note>
  **Applies to:**

  * Plan - {plans_0}
  * Deployment - {deployments_0}
  * {data_plane_version_0}
  * {use_case_0}
</Note>

## Summary

**Issue**: In the Logs view for the Traces row type, the basic "Created between" filter can return traces whose "Created" column shows an older date (for example, matches from July under an August filter).

**Cause**: In the Traces view, "Created between" matches if any span in the trace falls in range, which could include human reviews, scorer, or later chat spans, while the "Created" column shows the root span only.

**Resolution**: To exclude any new spans and only filter by the root's created date, use a custom SQL query with `is_root AND created …`, or switch to the Spans row type to see which spans match the filter condition.

## What is happening

In the Traces row type, a "Created between" chip is equivalent to `any_span(created >= '…' AND created <= '…')`. Braintrust automatically wraps Basic and SQL filters in `any_span(...)` unless they target `metrics.*` or `scores.*`. The trace list shows one row per trace and the "Created" column is always the root span's created timestamp, rather than the timestamp of the individual child span that matched the filter.

Common child spans that can match a later date range:

* Review spans (`span_attributes.type = 'review'`, often with `purpose = 'scorer'`).
* Later chat turns or tool spans added after the root was created.
* Scorer or automation spans written back into an existing trace.

**Example**: A trace with a root span created August 1st with a review span created Aug 15th would match an Aug 10–16th filter in the Traces row type. The row still shows a created date of August 1st in the list view, since that reflects the root value.

## Fix

In the SQL filter tab on Logs, filter by the root span's created date with `is_root AND created >= '2026-08-01T00:00:00Z' AND created < '2026-08-07T00:00:00Z'`.

Use UTC (Z) or date-only bounds. This may be auto-wrapped as `any_span(is_root AND created …)`. This still works because only the root has `is_root = true`.

To investigate a date discrepancy:

* Open the trace and expand user reviews or other child groups.
* Switch to the Spans row type and filter with `root_span_id = '…'`, then check each span's created.

<Note>
  Review spans often have null `metrics.start` and `metrics.end` values. Use the `created` field rather than `metrics.start` when inspecting these spans.
</Note>
