Establish what is happening
Freeze structured filter state
Save the field values, operator, timezone, sort, endpoint, and expected matches for one test case. Use synthetic identifiers and redact sensitive values. Record whether the local screen preserved the filter after navigation or only displayed a stale label.
Inspect the wire query
Compare the structured state with the final URL or request body. Check spaces, commas, Unicode, dates, repeated keys, empty values, and reserved characters. Capture response identifiers and any echoed filter so a broad result is not mistaken for a display issue.
Bound affected combinations
Group failures by filter field, value shape, client version, endpoint, and result class. Separate encoding, omitted parameter, timezone conversion, and remote default behavior. If unsupported combinations are not documented, mark them unknown instead of broadening the request.
What to carry forward
Triage ends when one filter has a recorded local value, exact wire representation, returned result, and first mismatch. Stop before changing the filter interface broadly. Send one encoding or contract question to the next owner with the unsupported cases listed.
Technical background: RFC Editor reference.
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