I fixed `romanToInt`, and `npm test` now passes (`{"status":"PASS","suite":"roman-to-int"}`).

**The bug:** the function added up every symbol's value. That works for "III" but not for subtractive pairs: "IV" came out as 6 instead of 4, and "MCMXCIV" came out wrong too.

**The fix** (`src/roman-to-int.mjs`): the function now reads the numeral left to right. If a symbol is smaller than the one right after it, its value is subtracted; otherwise it's added. That is the rule the API contract describes. I left the existing input checks alone.

**Extra checks:** beyond the four test cases, I tried some edge cases by hand. "MMMCMXCIX" returns 3999, "I" returns 1 and "CDXLIV" returns 444. Invalid inputs ("IIII", "iv", " IV", "", the number 5, "IC", "VX") all return `null`, as the contract requires.