Testing Luhn algorithm on "4532015112830366".

Current implementation:
- Starts from rightmost digit
- doubleDigit = true for the rightmost digit
- For each position: if doubleDigit, double the digit, subtract 9 if > 9
- Add to sum, toggle doubleDigit
- Return sum % 10 === 0

Let me trace "4532015112830366" (16 digits):
Index: 0123456789012345
Value: 4532015112830366

Processing from right (i=15 to 0):
i=15: '6', doubleDigit=true -> 6*2=12 -> 12-9=3, sum=3, doubleDigit=false
i=14: '6', doubleDigit=false -> 6, sum=9, doubleDigit=true
i=13: '3', doubleDigit=true -> 3*2=6, sum=15, doubleDigit=false
i=12: '0', doubleDigit=false -> 0, sum=15, doubleDigit=true
i=11: '8', doubleDigit=true -> 8*2=16 -> 16-9=7, sum=22, doubleDigit=false
i=10: '2', doubleDigit=false -> 2, sum=24, doubleDigit=true
i=9: '1', doubleDigit=true -> 1*2=2, sum=26, doubleDigit=false
i=8: '1', doubleDigit=false -> 1, sum=27, doubleDigit=true
i=7: '5', doubleDigit=true -> 5*2=10 -> 10-9=1, sum=28, doubleDigit=false
i=6: '1', doubleDigit=false -> 1, sum=29, doubleDigit=true
i=5: '0', doubleDigit=true -> 0*2=0, sum=29, doubleDigit=false
i=4: '2', doubleDigit=false -> 2, sum=31, doubleDigit=true
i=3: '3', doubleDigit=true -> 3*2=6, sum=37, doubleDigit=false
i=2: '2', doubleDigit=false -> 2, sum=39, doubleDigit=true
i=1: '5', doubleDigit=true -> 5*2=10 -> 10-9=1, sum=40, doubleDigit=false
i=0: '4', doubleDigit=false -> 4, sum=44, doubleDigit=true

44 % 10 = 4, not 0. So this card should be invalid according to current logic.

But the test expects it to be valid! Let me re-read the rules.

"Starting at the rightmost digit, leave the first digit unchanged and double every second digit moving left"

Hmm, "every second digit moving left" - maybe the pattern is different. Let me think about this differently.

Actually, I think the issue is the starting position for doubling. Let me re-read:
"Starting at the rightmost digit, leave the first digit unchanged and double every second digit moving left"

So from the right:
- Position 0 (rightmost): unchanged
- Position 1: double
- Position 2: unchanged
- Position 3: double
...

But my code starts with doubleDigit=true for the rightmost digit, which means it doubles the rightmost digit. That's wrong!

The rightmost digit should NOT be doubled. The doubling should start from the second digit from the right.

Let me fix this: start with doubleDigit=false for the rightmost digit.
