You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(smoke): cover the strict pass, and fix a case that passed for free (#545)
* test(smoke): cover the strict pass, and fix a case that passed for free
The mm=100% pass from #544 was verified by hand only. Two cases now cover it: a
boolean query must skip it (all_terms_results: null), and a query no dataset
satisfies in full must still be answered by the fill pass (all_terms_results: 0).
Checking that they fail on the defects they name found that the second did not.
It asserted total_results and all_terms_results but never that any result came
back, so a build where the strict pass emptied the answer passed it. Added
`returned_min`: a tool can report thousands of matches and return an empty list,
and those are different claims. Both cases now fail on the broken build:
FAIL a boolean query skips the strict pass
all_terms_results is 10, expected null
FAIL no dataset carries every term, so the default pass fills in
returned 0 results, expected at least 3
Also added `field_equals`, an exact check on any payload field including null —
the strict count needed pinning at 1, at 0 and at null. Assertions documented in
scripts/README.md.
16 cases, 16 passing. 550 tests.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MEpSWpAwuMaGkfnMpQdqK2
* test(smoke): require field presence, use floors for catalog counts
Two review findings, both fair:
- `field_equals` treated a missing field as an explicit null, so a response that
stopped emitting `all_terms_results` would have passed the boolean-query case.
Presence is checked now: removing the field from the payload fails with
"all_terms_results is missing from the response, expected null".
- pinning the Milano case at exactly 327 matching datasets broke this file's own
rule that thresholds survive catalog drift — my own line from yesterday. Counts
that track the catalog are floors now (`field_min`), while `null` and `0` stay
equalities: they are behaviours, not counts.
Both defects still caught: removing the boolean skip fails with
"all_terms_results is 10, expected null". 16/16.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MEpSWpAwuMaGkfnMpQdqK2
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments