docs: make plan's stability test actually test ordering stability
The test queried 'budget', which only one corpus document matches, so it returned a single-element array with nothing to reorder — it would pass even with the tie-break removed. Switched to 'muller', where docs 1 and 5 tie at the same score and ordering is decided solely by the ascending-id tie-break. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e4777e59e0
commit
a630944a3c
@@ -3085,8 +3085,15 @@ describe("Search recall", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("results are stable across repeated identical searches", () => {
|
test("results are stable across repeated identical searches", () => {
|
||||||
const first = rankRecords(CORPUS, "budget", FIELDS).map((r) => r.record.id);
|
// Uses "muller" deliberately: docs 1 and 5 share the identical person
|
||||||
const second = rankRecords(CORPUS, "budget", FIELDS).map((r) => r.record.id);
|
// string, so both score exactly 0.33 and the ORDER is decided purely by
|
||||||
|
// the ascending-id tie-break. A single-result query (e.g. "budget") would
|
||||||
|
// pass this assertion even if the tie-break were removed entirely, since
|
||||||
|
// a one-element array cannot be reordered.
|
||||||
|
const first = rankRecords(CORPUS, "muller", FIELDS).map((r) => r.record.id);
|
||||||
|
const second = rankRecords(CORPUS, "muller", FIELDS).map((r) => r.record.id);
|
||||||
|
expect(first).toHaveLength(2);
|
||||||
|
expect(first).toEqual([1, 5]);
|
||||||
expect(first).toEqual(second);
|
expect(first).toEqual(second);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user