Skip to content

docs(langsmith): add filter-traces page for the rebuilt tracing filter UI - #5793

Draft
Florence Morris (fjmorris) wants to merge 5 commits into
mainfrom
fjmorris/DOC-1570
Draft

docs(langsmith): add filter-traces page for the rebuilt tracing filter UI#5793
Florence Morris (fjmorris) wants to merge 5 commits into
mainfrom
fjmorris/DOC-1570

Conversation

@fjmorris

@fjmorris Florence Morris (fjmorris) commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Why

The LangSmith tracing filter UI has been rebuilt (Milestone 1 of the filter revamp, targeting rollout Sept 10). The chip-and-dropdown filter builder is replaced by a single search bar with a query language, the trace/tree filters are replaced by a scope selector, and the Filter Shortcuts pane has moved from the bottom of the right sidebar to a collapsible panel on the left. filter-traces-in-application describes none of this, so it needs a full rewrite rather than edits.

Linear: DOC-1570

What this PR does

Adds src/langsmith/filter-traces.mdx. It documents:

  • The search bar query language: field:value clauses, negation with -, full-text ~, wildcards, existence, numeric comparisons, and ranges
  • AND/OR/NOT precedence, implicit AND on whitespace, and value quoting
  • The field reference, split into run fields and the disjoint set of thread fields available in the Thread scope
  • Dot notation for input/output/metadata JSON keys and feedback subfields
  • What full-text search indexes, and how it differs from key-path filtering
  • The four scopes (Thread, Root run, Single run, Any run), the available scopes and default per table selection, combining scopes across filter rows, and the "Not applied" badge
  • The collapsible Shortcuts and Stats panels
  • Saved views, including automatic translation of views saved with the previous syntax

Also adds src/snippets/langsmith/filtering-experience-note.mdx, imported by both this page and the ClickHouse page, which routes readers between the two experiences.

SDK and API changes are out of scope for the initial release, so the page points at trace-query-syntax for the structured query language.

make lint_prose passes with 0 errors, 0 warnings, 0 suggestions.

How the details were verified

The field tables, scope labels, per-view defaults, and operator support come from the smithdb-filter-lang WASM schema and the FiltersRevamp components in langchain-ai/langchainplus, re-verified against current origin/main after the reviewer's feedback. Product behavior that is not visible in the code (indexing limits, legacy-view translation, rollout cohorts) comes from the reviewer's answers on DOC-1570.

Two items where the code contradicted a review comment, both raised on the review threads:

Review comment What the schema says
attachments "only supports exists/not exists" ["is", "is_not", "wildcard", "exists"], and nothing suppresses them. Page documents all four.
Unbounded range "removed from the prodcut" Still live in the grammar and still surfaces in the dropdown. Left undocumented per the reviewer's follow-up ("we dont need to document it").

Deliberately omitted

  • The ClickHouse-era indexing limits (250-character cap, 100 unique keys per run, 2-character minimum token). SmithDB does not use them. Replaced with the SmithDB figures. The ClickHouse page keeps the old numbers, which remain correct for that backend.
  • Filtered Only, Switch to raw query, and the copy-filter button. Confirmed removed from the product, not relocated.
  • What Most relevant and Show All do when no filter is applied. Undocumented anywhere, including on the old page. The page states only that both are disabled while a filter is applied, which was verified in production.

Needs careful review

  1. Scope terminology. The page uses "table selection" for the Threads/Traces/Runs control and "scope" for the selector left of the search bar, to keep the two ideas distinct. Worth a check that this matches how the team talks about it.
  2. The metadata row. Metadata accepts ~ per the schema but is indexed separately from the full-text token index, so the row leads with metadata.<key> and describes ~ as searching metadata values. Confirm that phrasing is right.

Follow-ups (not in this PR)

  • Swap the src/docs.json nav entry to langsmith/filter-traces; the page is currently an orphan
  • Add a /langsmith/filter-traces-in-application redirect, which requires moving the ClickHouse page off that slug
  • Remap 5 anchored inbound links: #filter-operators becomes #operators in billing.mdx:163, #create-and-apply-filters becomes #build-a-query in engine.mdx:148 and threads.mdx:292, and two links to #example-filtering-for-tool-calls have no successor
  • Rewrite prose on pages that describe the previous filter UI. Three found so far, and only two are anchored links, so a link-only sweep will miss them:
    • threads.mdx:292 names the Add filter button and Save view
    • engine.mdx:148 refers to the "filter editor"
    • rules.mdx:85 says "Automation rule filters work the same way as filters applied to traces in the project", which becomes false for SmithDB users once this page is live, because rule filters keep the previous chip-based builder
  • Audit dashboards.mdx for the same problem. dashboards.mdx:101 describes chart filters as "one + Filter in the Filter & group panel", the previous builder, which will read as inconsistent beside this page
  • Decide what replaces #example-filtering-for-tool-calls, which online-evaluations-code.mdx and online-evaluations-llm-as-judge.mdx both link to
  • Fix the ClickHouse page's trace-view-filter-light/dark.png alt text, which describes the three view modes while the images show the old Filters field list
  • Screenshots. This page has none, and the old filter-bar-search-* and filter-shortcut-pane-* pairs show the previous UI
  • Add a self-hosted version line to the availability snippet once v0.17 is settled
  • Reinstate a "what next" section once charts, evaluators, and rules adopt the new filter UI. The PRD scopes this revamp to the tracing page and table only, so today there is no way to carry a filter into those panes and the syntax does not transfer

AI disclosure

Drafted by Claude Opus 5 via Claude Code. Source material: the DOC-1570 Linear issue and its attachments (demo walkthrough frames, transcript, UI screenshots), the filter revamp PRD and filter syntax spec, and the langchain-ai/langchainplus implementation. Product behavior in the page was checked against the implementation or against the reviewer's written answers; see "How the details were verified".

…r UI

The tracing project filter experience has been rebuilt (DOC-1570), so
filter-traces-in-application no longer describes how filtering works. Add a
replacement page written against the shipped behavior.

Navigation is unchanged; the nav swap, redirect, and link updates are
follow-ups.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added langsmith For docs changes to LangSmith internal labels Aug 31, 2026
@fjmorris
Florence Morris (fjmorris) marked this pull request as draft August 31, 2026 16:56

@lc-arjun lc-arjun left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leaving some comments, this looks really great though!

Comment thread src/langsmith/filter-traces.mdx
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx
Comment thread src/langsmith/filter-traces.mdx
…S limits

Addresses lc-arjun's review on #5793 and his answers on DOC-1570.

- Field and operator corrections: `inputs`/`outputs` renamed to
  `input`/`output`, unbounded range dropped, `attachments` limited to exists
  and does not exist, Threads and Traces now default to `any run`
- Document that an `any run` filter carries into the trace's tree view, and
  trim the legacy saved-view specifics, which are being replaced by automatic
  translation into the new syntax
- Add a full-text search indexing section with the SmithDB limits, replacing
  the ClickHouse-era numbers the first draft omitted for lack of a source
- Add a shared routing note, imported by both filter pages, that disambiguates
  on visible UI rather than on backend, since users are not expected to know
  which backend their instance runs

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update already committed.

Comment thread src/langsmith/filter-traces.mdx
Comment thread src/langsmith/filter-traces.mdx
…dexing

Follow-up to lc-arjun's answers on DOC-1570, plus one correction of my own.

- Fix the `attachments` row: it accepts is, is not, wildcard, and exists, not
  exists only. The review comment was hedged and the schema contradicts it, so
  the claim and its operator-constraints bullet are both removed
- Separate full-text search from key-path filtering: metadata is indexed
  separately and is not subject to the token limits, and key-path filtering has
  no published limits of its own
- Legacy views are auto-translated to the new syntax on selection, with a
  prompt to re-save
- Details view: filtering highlights matches in place rather than narrowing the
  list, and the Most relevant and Show All options are disabled while a filter
  is applied

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Mintlify preview branch generated: preview-fjmorr-1788293044-706acd9

Site preview: https://langchain-5e9cc07a-preview-fjmorr-1788293044-706acd9.mintlify.site

Important

Preview links may take a few minutes to start working while the deployment finishes.

Changed documentation pages (preview deep links):

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commited updates

Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Comment thread src/langsmith/filter-traces.mdx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal langsmith For docs changes to LangSmith

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants