Briefs: Stryker offsets index the file in the job's checkout, whose line endings follow .gitattributes
cut-bls-input-field.s3: LF offsets on CultMath's eol=crlf sources missed the code under test. Changelog entry records the evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
278b881ebe
commit
f8c61bf592
2 changed files with 18 additions and 4 deletions
|
|
@ -398,10 +398,16 @@ Verification: <exact builds, tests, captures, negative greps>.
|
|||
read the summary, and open the full log only at a named failing test, with
|
||||
`grep -n -A 40`. Hand mutants go in one list to `tools/mutation-table.sh`,
|
||||
one job for all of them.
|
||||
- Stryker `--mutate` ranges are character offsets, not lines. Compute them from
|
||||
the LF content (`git show <rev>:<path>`), never from the CRLF Windows checkout.
|
||||
A run whose ranges hit nothing tests nothing, and a green with zero mutants
|
||||
tested is not evidence (line-scoped runs tested nothing, 2026-10-06).
|
||||
- Stryker `--mutate` ranges are character offsets, not lines, into the file as
|
||||
Stryker reads it: the bytes of the checkout the job runs in. Line endings there
|
||||
follow `.gitattributes`, not the platform: CultLib's `packages/cultmath/src/**`
|
||||
is `eol=crlf`, so even the Linux container checks it out with CRLF. Compute the
|
||||
offsets inside the job from that checkout's file, never from `git show` (index
|
||||
LF) or a different clone. Then check that the run reports mutants inside the
|
||||
method you meant to measure. A run whose ranges hit nothing tests nothing, and
|
||||
a green with zero mutants tested is not evidence (line-scoped runs tested
|
||||
nothing, 2026-10-06; LF offsets on a CRLF file missed the code under test,
|
||||
cut-bls-input-field.s3, 2026-10-11).
|
||||
On Aetheria, Stryker.NET 5.0.0 has no test filter and runs the whole suite
|
||||
per pass (about 86 minutes, modifier-subtypes 2026-10-09): budget one pass,
|
||||
never a second to read a truncated tail (write its report to a file), and
|
||||
|
|
|
|||
|
|
@ -2,6 +2,14 @@
|
|||
|
||||
Record each change to the skill together with the evidence that motivated it.
|
||||
|
||||
## 2026-10-11: Stryker offsets come from the job's checkout
|
||||
|
||||
Self, session `self-2026-10-11-eureka`.
|
||||
|
||||
Evidence. `cultlib-gaps:verdict:cut-bls-input-field.s3`: Hands computed Stryker `--mutate` offsets from LF content, as the brief said, but CultLib's `packages/cultmath/src/**` is `eol=crlf`, so the job's checkout was CRLF and the ranges missed the code the fix batch was about. At the right offsets Soul's rerun killed 32 of 32. The brief's rule was itself the defect.
|
||||
|
||||
What changed. The Hands brief in `references/briefs.md` says offsets index the file as Stryker reads it in the job's checkout, whose line endings follow `.gitattributes`, and that the run must report mutants inside the method meant to be measured.
|
||||
|
||||
## 2026-10-09: research is always kept
|
||||
|
||||
Self, session `self-2026-10-09-eureka`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue