Filtering

Added

The narrowing of a collection to items that match the actor’s criteria, balancing precision with the risk of hiding relevant results.

Placement

  • inline, popover, drawer…
  • pairing with table header

…

When simple filter fails, the attribute search query is passed to LLM to find a match in the available attributes.

If that fails, users can delegate filtering to an agent via a task. Agent can have access to data beyond the attributes and values visible to the user.

Flow 1

  1. Enter a query that does not have a match in the available attributes
  2. Create a task to handle it
  3. Show “thinking…” placeholder
  4. Replace it with a task result reference.

Flow 2

  1. Create a task outside filtering whose result can be used to filter the collection.
  2. Follow steps 3-4 from Flow 1.
  • Command menu — a palette over attributes and values, with hierarchical drill-in and AI fallback
  • Combobox — the value-picker inside each active filter chip uses a combobox to narrow available values

Consequences

  • the visible set is the actor's criteria made operative, and the criteria stay on the surface as chips or clauses so the actor can read what they are not being shown
  • an empty result is a dead end the actor reaches still holding their intent, and an over-full one means the criteria they have aren't the criteria the attributes can express — both are where narrowing stops being enough

Resources & references

Appears in

Composing views

Related patterns

Complements

  • Attribute visibility — surface then operate: an attribute made visible becomes a predicate to filter by
  • Autocomplete — autocomplete within filter value selection
  • Dry run — a filter over a visible collection is a dry run that never stops; the result updates with each part and the check needs no separate step
  • Grouping — narrows what groups show up
  • Sorting — orders what filtering lets through
  • Selection — the imperative dual; filter narrows by predicate, selection narrows by enumeration
  • Pyramid — for large collections
  • Rule composition — a filter is the selecting rule over a visible collection, where the result updates as each part changes and checking the rule needs no separate step
  • Searching — often used after a search to refine results; in AI-search, filters are the output of the search query

Preceded by

  • Data view — acts on the framed collection the view already holds
  • Tag — an applied label is a handle: whatever has been tagged becomes a facet to narrow by, which is where the value of tagging is actually collected

Enabled by

  • Bounded choice — each filter condition is a bounded choice over a facet's values
  • Embedded intelligence — the constituent that turns a natural-language query into structured filters