Evidenceyargs-parser-196
Array of camel-cased option with ConfigObjects
yargs-parser#196, at commit 7d42572. A closed issue from a repository Credda did not choose.
LIVE2026-09-20
RIGHT_FAILUREexecuted against the upstream checkout.
- Outcome
- PATCH_REJECTED
- Wall time
- 111.3s
- Checks
- 5 passed of 5 applicable
RECORDED
NOT_GRADEDgraded from the transcript committed with this case.
- Outcome
- not recorded
- Checks
- none run
- Repository
- yargs/yargs-parser
- Issue
- #196
- Pinned commit
- 7d42572acf7e81f1d78f357b3229d415abe3d6c5
01The signal
The report, exactly as it was filed.
Nothing paraphrased or cleaned up. The mess is the thing under test.
Array of camel-cased option with ConfigObjects
```js
var args = parse('--watchFiles path1 --watchFiles path2', {
array: ['watch-files'],
configObjects: [{'watchFiles': 'path3'}],
configuration: {
'combine-arrays': true,
'camel-case-expansion': true
}
})
console.log(args);
// { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] }
```
The result is incorrect, it should be:
```
{ _: [],
watchFiles: [ 'path1', 'path2', 'path3' ],
'watch-files': [ 'path1', 'path2', 'path3' ] }
```
The input of `--watchFiles` is not recognised as the camel-cased version of `--watch-files`.
yargs-parser: v13.0.0 and also current master.- Repository
- yargs/yargs-parser
- Issue
- #196
- Commit
- 7d42572acf7e81f1d78f357b3229d415abe3d6c5
- Why this commit
- The first parent of the fix commit f8a2d3f26a84cc57e210deb1aa27b580e4b06388, which GitHub binds to this issue via CLOSED_EVENT_PR. 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
- (parse('--watchFiles path1 --watchFiles path2', { array: ['watch-files'], configObjects: [{'watchFiles': 'path3'}], configuration: { 'combine-arrays': true, 'camel-case-expansion': true } })) produces { 'watch-files': [ 'path1', 'path2' ], _: [], watchFiles: [ 'path1', 'path2' ] }; the fix makes it produce { 'watch-files': [ 'path1', 'path2', 'path3' ], _: [], watchFiles: [ 'path1', 'path2', 'path3' ] }.
- Expression
- (parse('--watchFiles path1 --watchFiles path2', { array: ['watch-files'], configObjects: [{'watchFiles': 'path3'}], configuration: { 'combine-arrays': true, 'camel-case-expansion': true } }))
- Reported output
- { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] }
- Where that came from
- Read mechanically from the report's fenced code, NEXT_LINE form: `console.log(args); // { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] }`.
03What happened
The live run reproduced the reported failure.
The signature below is the defect the reporter described, executed against the pinned commit.
`args` still produces { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] } (read { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] })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 | pass | `args` still produces { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] } (read { _: [], watchFiles: [ 'path1', 'path2' ], 'watch-files': [ 'path1', 'path2' ] }) |
| right-failure | pass | Reproduced the reported failure: (parse('--watchFiles path1 --watchFiles path2', { array: ['watch-files'], configObjects: [{'watchFiles': 'path3'}], configuration: { 'combine-arrays': true, 'camel-case-expansion': true } })) produces { 'watch-files': [ 'path1', 'path2' ], _: [], watchFiles: [ 'path1', 'path2' ] }; the fix makes it produce { 'watch-files': [ 'path1', 'path2', 'path3' ], _: [], watchFiles: [ 'path1', 'path2', 'path3' ] }. |
| 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 7d42572, run the report through the CLI the way the study did.
git clone https://github.com/yargs/yargs-parser git checkout 7d42572acf7e81f1d78f357b3229d415abe3d6c5 npm install CREDDA_PROVIDER=heuristic \ npx tsx apps/cli/src/main.ts fix <repo-path> @<issue-file> --no-color