Sieve
Sieve shows what the model held back when it filtered, and why. Held items are grouped by reason, each group with a sample to spot-check. Show a group and it rejoins the list, marked as your choice. Nothing disappears silently.
The model filtered 23 broker emails down to 9 with your rule: office, CBD, up to S$80M. Open the 14 held back and check each reason. Show the duplicates and they rejoin the list, marked as shown by you.
Anatomy
When to use
- Whenever the model filters, ranks out or removes duplicates for someone: inboxes, deal flow, search results, alerts.
- When a missed item is costly. A deal that never shows is worse than one that shows twice.
- Not for a filter the person set and applied, like a column filter in a table. It already shows its rule.
Behaviour
| Element | Shows | The person can |
|---|---|---|
| Rule | The filter in words | Read it, and change it where the filter is set |
| Held back | How many, at all times | Open the reasons |
| Group | The reason, a count and two samples | Show the whole group |
| Shown item | Its group and “shown by you” | See why it was held |
Showing a group changes this view, not the rule. To change the rule, edit it where it is set, and the model applies it next time.
Best practices
- Keep the held-back count on screen whenever a filter is on, even at zero: “Nothing held back”.
- Name each reason the way people would say it: “Over budget”, not “price > threshold”.
- Give each group a sample, so a person can check the reason at a glance.
- Mark what a person brings back, so the list stays honest about who chose it.
Accessibility
- Held back is a button with an expanded state that controls the reasons.
- The count is a polite live region: “12 of 23 shown”.
- Showing a group announces how many items joined the list.
- Shown items carry their tag in text, not only a tint.
Specifications
- Held back
- 48 pt, 1 pt dashed tyrian border
- Group
- Surface 2 card, reason in ink 2
- Sample
- Two items per group
- Shown tag
- Ink chip, mono 10 pt