Evidenceramda-2386
mapAccumRight argument order?
ramda#2386, at commit 1aba18b. A closed issue from a repository Credda did not choose.
LIVE2026-09-20
RIGHT_FAILUREexecuted against the upstream checkout.
- Outcome
- PATCH_REJECTED
- Wall time
- 573.4s
- Checks
- 5 passed of 5 applicable
RECORDED
NOT_GRADEDgraded from the transcript committed with this case.
- Outcome
- not recorded
- Checks
- none run
- Repository
- ramda/ramda
- Issue
- #2386
- Pinned commit
- 1aba18bc0c99bdc3e4181b65edfedb48be50cc87
01The signal
The report, exactly as it was filed.
Nothing paraphrased or cleaned up. The mess is the thing under test.
mapAccumRight argument order?
Is the argument order for `mapAccumRight` correct? Docs say > iterator function receives two arguments, value and acc, and should return a tuple [value, acc] But using as documented: ```javascript var iterator = (value, acc) => [value, acc]; R.mapAccumRight(iterator, "acc", ["a", "b"]); //=> [["b", "acc"], "a"] ``` Reversing order of tuple returned by iterator works as expected: ```javascript var iterator = (value, acc) => [acc, value]; R.mapAccumRight(iterator, "acc", ["a", "b"]); //=> [["a", "b"], "acc"]
- Repository
- ramda/ramda
- Issue
- #2386
- Commit
- 1aba18bc0c99bdc3e4181b65edfedb48be50cc87
- Why this commit
- The first parent of the fix commit e58a9201838d9957b1a8e32bbccc52f6b5b07696, which GitHub binds to this issue via CROSS_REFERENCED_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
- R.mapAccumRight(((value, acc) => [value, acc]), "acc", ["a", "b"]) produces [ [ 'b', 'acc' ], 'a' ]; the fix makes it produce [ 'acc', [ 'a', 'b' ] ].
- Expression
- R.mapAccumRight(((value, acc) => [value, acc]), "acc", ["a", "b"])
- Reported output
- [["b", "acc"], "a"]
- Where that came from
- Read mechanically from the report's fenced code, SAME_LINE form: `R.mapAccumRight(iterator, "acc", ["a", "b"]); //=> [["b", "acc"], "a"]`.
03What happened
The live run reproduced the reported failure.
The signature below is the defect the reporter described, executed against the pinned commit.
`R.mapAccumRight(iterator, "acc", ["a", "b"])` still produces [["b", "acc"], "a"] (read [ [ 'b', 'acc' ], 'a' ])
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 | `R.mapAccumRight(iterator, "acc", ["a", "b"])` still produces [["b", "acc"], "a"] (read [ [ 'b', 'acc' ], 'a' ]) |
| right-failure | pass | Reproduced the reported failure: R.mapAccumRight(((value, acc) => [value, acc]), "acc", ["a", "b"]) produces [ [ 'b', 'acc' ], 'a' ]; the fix makes it produce [ 'acc', [ 'a', 'b' ] ]. |
| 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 1aba18b, run the report through the CLI the way the study did.
git clone https://github.com/ramda/ramda git checkout 1aba18bc0c99bdc3e4181b65edfedb48be50cc87 npm install CREDDA_PROVIDER=heuristic \ npx tsx apps/cli/src/main.ts fix <repo-path> @<issue-file> --no-color