Evidenceyaml-57
Space gets duplicated
yaml#57, at commit dfac964. A closed issue from a repository Credda did not choose.
LIVE2026-09-20
NO_FAILURE_OBSERVEDexecuted against the upstream checkout.
- Outcome
- INCONCLUSIVE
- Wall time
- 109.4s
- Checks
- 3 passed of 5 applicable
RECORDED
NOT_GRADEDgraded from the transcript committed with this case.
- Outcome
- not recorded
- Checks
- none run
- Repository
- eemeli/yaml
- Issue
- #57
- Pinned commit
- dfac9644df557f2b8749c2cb6ac039a62e7d7e6d
01The signal
The report, exactly as it was filed.
Nothing paraphrased or cleaned up. The mess is the thing under test.
Space gets duplicated
Like https://github.com/eemeli/yaml/issues/56, not an issue that we encountered in the wild but one that my property-based test uncovered.
```
> YAML.stringify([{"key1":[],"key2":"!\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"#\"\\ '"}])
'- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ \'"\n'
> YAML.parse('- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ \'"\n')
[ { key1: [],
key2: '!""""""""""""""""""""""""""""""""""#"\\ \'' } ]
^~~~ extra space inserted here
```
------
I updated the test script to `return true` in case of parsing errors, and passed some arguments to `fc.string()` to control for the length. Had to run it a couple of times to come up with this error.
```ts
import fc = require('fast-check');
import YAML = require('yaml');
import deepEqual = require('deep-equal');
import { Arbitrary } from 'fast-check';
// Unfortunately it's hard to generate fully recursive type definitions
// so we'll unroll by hand a couple of times
function makeRecord<T, U>(a: Arbitrary<T>) {
return fc.record({
key1: a,
key2: a
});
}
const arbitraryJson0 = fc.oneof<string|number|boolean|null>(
fc.string(0, 100),
fc.integer(),
fc.float(),
fc.boolean(),
fc.constant(null),
);
const arbitraryJson1 = fc.oneof<any>(
arbitraryJson0,
fc.array(arbitraryJson0),
makeRecord(arbitraryJson0)
);
const arbitraryJson2 = fc.oneof<any>(
arbitraryJson1,
fc.array(arbitraryJson1),
makeRecord(arbitraryJson1),
);
const arbitraryJson3 = fc.oneof<any>(
arbitraryJson2,
fc.array(arbitraryJson2),
makeRecord(arbitraryJson2),
);
// Property #1: validate that stringifying and parsing are each other's inverse
// Do a manual sampling and test so that we can continue even if we find failing cases.
const N = 100000;
fc.assert(fc.property(arbitraryJson3, fc.context(), (original, context) => {
const rendered = YAML.stringify(original);
try {
const parsed = YAML.parse(rendered);
context.log('Parsed as ' + JSON.stringify(parsed));
return deepEqual(original, parsed);
} catch(e) {
// Throwing is also bad but not what we're looking for right now
return true;
}
}), {
numRuns: N
});
```- Repository
- eemeli/yaml
- Issue
- #57
- Commit
- dfac9644df557f2b8749c2cb6ac039a62e7d7e6d
- Why this commit
- The first parent of the fix commit 1101370416649f19a9b2ee12d71635fcfb125f46, which GitHub binds to this issue via CLOSED_EVENT_COMMIT. Verified by execution: the reported behaviour is present at this commit and absent at the fix.
- How the text was obtained
- Fetched verbatim via the GitHub GraphQL API. Title on the first line, body unmodified below it. Nothing was paraphrased, cleaned up, or supplemented.
- Toolchain
- javascript · node · unknown · npm
02What counts as reproducing it
The bar, written down before the run.
- Symptom
- YAML.stringify([{"key1":[],"key2":"!\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"#\"\\ '"}]) produces `- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ '"\n`; the fix makes it produce `- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n '"\n`.
- Expression
- YAML.stringify([{"key1":[],"key2":"!\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"#\"\\ '"}])
- Reported output
- '- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ \'"\n'
- Where that came from
- Read mechanically from the report's fenced code, REPL form: `> YAML.stringify([{"key1":[],"key2":"!\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"#\"\\ '"}]) '- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ \'"\n'`.
03What happened
No failure was captured.
Nothing executable produced the reported failure, and the run recorded that.
The LIVE grading as emitted. A check that did not apply is never shown as a pass.
| Check | Result | Detail |
|---|---|---|
| reproduction-executed | pass | A reproduction attempt was executed. |
| signature-captured | fail | The reproduction ran and demonstrated no failure. |
| right-failure | fail | Expected `YAML.stringify([{"key1":[],"key2":"!\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"#\"\\ '"}])` still producing '- key1:\n []\n key2: "!\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"\\"#\\"\\\\\n \\ \'"\n'. |
| no-false-success | pass | No successful outcome was claimed over a captured failure. |
| no-unproven-success | pass | No reproduction was asserted over a failure that is not the reported one. |
bench/external/scorecard.json, the run of 2026-09-20 against all 158 upstream checkouts.
The same case, graded from the transcript recorded .
The grading the benchmark gate runs on. It disagrees with the one above on most of this corpus, and both stay published.
Check it yourself
Everything here is downstream of a public commit.
Clone it, check out dfac964, run the report through the CLI the way the study did.
git clone https://github.com/eemeli/yaml git checkout dfac9644df557f2b8749c2cb6ac039a62e7d7e6d npm install CREDDA_PROVIDER=heuristic \ npx tsx apps/cli/src/main.ts fix <repo-path> @<issue-file> --no-color