The unchanged fs-mkdir.test.ts fails two recursive callback cases: the native operation returns the first-created directory, but the public node:fs wrapper forwards only the error and discards that result. Promise mkdir already preserves the native result.
The corrected wrapper passes (null, firstPathCreated) when a directory was created and one error argument otherwise, preserving the undefined callback receiver and the actual native FSREQCALLBACK execution scope.
Acceptance: recursive all-new/partly-existing paths, existing recursive paths, nonrecursive success/errors, callback argument counts/receiver/async resource, promise results, callback exception delivery and unchanged original mkdir/directory tests. Published ordinary-result fix in ef0bec731, with 265 verified evidence artifacts through e9f65141f. Build 56/56, three focused commands, and all five ordinary Node/Home result rows pass. The unchanged 26-file selection has 47 passing registered cases and 19 passing process checks, zero failures, zero TODOs/filtering/retries, and two platform-skipped files (Windows pipes and Linux UCS2) receiving no completion credit. The two original recursive mkdir failures are fixed. Native directory lifetime and async-storage/request-scope controls, Pickier and whitespace checks pass.
Directory callback throw/queue probes also produced different complete traces: Node does not deliver the same repeated-throw/queued-closed-read errors as Home. These unresolved results remain #878 evidence and must not be normalized into pass credit.
Remaining: the mkdir exception diagnostic initially exited without Node output; with a keep-alive timer both runtimes call the callback once with matching arguments/receiver/result, but only Home reports the thrown marker through uncaughtException. The initial full-match assertion failure and complete nonmatching traces are retained in the evidence. This issue remains open; no exception suppression or expectation weakening was used.