Aglet

How to learn from slow search and query-shape regressions

Learning from slow search means preserving the query shapes that expose cost and the correctness rules that protect trust. Record the interaction mode, filters, dataset assumptions, measured boundary, and accepted tradeoff. Then give future changes a focused way to revisit those cases.

Keep the lesson for the next incident

  1. Catalog representative search shapes

    Keep examples for short common terms, selective terms, broad terms, filtered searches, and no-match cases without storing unnecessary sensitive values. Describe expected result order, pagination, and empty-state behavior. Note which shape exposed the boundary and whether the cost changes as data grows.

  2. Preserve the request correctness rule

    Document how the interface decides which response may update the results and how cancellation or stale work is represented. Pair the rule with a small journey or review check. A speed budget without response ownership can make a fast search display the wrong records.

  3. Recheck after data and filter growth

    Schedule review when indexed fields, joins, sort options, or dataset size changes. Re-run the representative shapes and compare query work, response volume, and rendering. Replace examples that no longer represent real use, and explain the change so a future regression is not misread.

What to carry forward

The learning record should retain the search shapes, response-order rule, correctness cases, and recurrence trigger. It is complete when an engineer can reproduce the costly query without guessing sensitive inputs and can tell whether a future change affects input, query, transfer, or rendering work.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow