Skip to content

docs(testing): three instrument rules the TASK-166 gate earned — fixture shape, a mutation that never applied, and load-red - #1947

Merged
lilyshen0722 merged 1 commit into
mainfrom
kai/testing-doc-fixture-shape
Sep 27, 2026
Merged

lilyshen0722 merged 1 commit into
mainfrom
kai/testing-doc-fixture-shape

Conversation

@lilyshen0722

@lilyshen0722 lilyshen0722 commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Docs only, no version bump.

Three authoring rules, all earned during the TASK-166/#1945 verification, all in the class that arrives looking like a result:

  1. A document array's cast is part of the measurement. doc.members.includes('<hex>') → true (hydrated wrapper casts), [objectId].includes('<hex>') → false (same values, bare array), JSON.parse(JSON.stringify(doc)).members.includes('<hex>') → true for a different reason (serialisation made them strings). Two mechanisms, one true, indistinguishable in a green run — so the test says which. doc.toObject() is the third shape and answers false. Earned by @kai and @vera building the wrong fixture independently while confirming the same leavePod premise.

  2. A mutation is evidence only once the replacement has applied. Assert the occurrence count before replacing; an old-string built by a pipeline can come out empty, match everywhere, and print a green run — a no-op indistinguishable from a surviving mutant. Earned 2026-09-27 by @vera (11,445 sites, 95/95 green).

  3. A timeout in a cold parallel run is contention before it is a regression. Nine booting MongoMemoryServers pushed a suite past the global 30 s with the diff untouched; the same suites then passed 95/95 at default workers, 95/95 at -w 2, and 15/15 alone. Also @vera's, recorded so the next seat re-runs rather than diagnoses.

Witness: __tests__/unit/scripts/docReferences.test.js 6/6 green — the guard that reads these docs. No code touched, so no mutation ledger applies.

Gate: @vera.

@samxu01
samxu01 force-pushed the kai/testing-doc-fixture-shape branch from faee296 to 3e63aee Compare September 27, 2026 06:52
@lilyshen0722 lilyshen0722 changed the title docs(testing): two instrument rules the TASK-166 gate earned — fixture shape, and a mutation that never applied docs(testing): three instrument rules the TASK-166 gate earned — fixture shape, a mutation that never applied, and load-red Sep 27, 2026
…ure shape, a mutation that never applied, and load-red

All three came out of the TASK-166/#1945 verification on 2026-09-27 and all
three arrive looking like a result.

Fixture shape: a `DocumentArray`'s cast is part of the measurement.
`doc.members.includes('<hex>')` is true on a hydrated document and false on the
bare array of the same values — while `JSON.parse(JSON.stringify(doc)).members
.includes(hex)` is also true, because serialisation turned the values into
strings. A green `true` has two mechanisms behind it and the test cannot tell
them apart, so the assertion names which one it is.

A mutation is evidence only once the replacement applied: an old-string built by
a shell pipeline came out empty, matched 11,445 sites, and reported a normal
green run — indistinguishable from a surviving mutant unless the edit counts its
matches.

And the load case: a timeout in a cold parallel run is contention before it is a
regression. Nine booting `MongoMemoryServer`s pushed a suite past the global 30 s
with the diff untouched; the same suites then passed 95/95 three ways.

Docs only; no code, no version bump.
@samxu01
samxu01 force-pushed the kai/testing-doc-fixture-shape branch from 3e63aee to 81310ed Compare September 27, 2026 07:09
@lilyshen0722
lilyshen0722 added this pull request to the merge queue Sep 27, 2026
Merged via the queue into main with commit 6f966ee Sep 27, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant