The current implementation has a bug: it uses `left >= 10` as the condition, which means a count of exactly 10 is folded (1+0=1) but a count of 9 is returned as-is. The contract says "A count already standing as one figure is given back as it is" — so 9 should be returned as 9, but 10 should be folded to 1.

The fix is to change the condition from `>= 10` to `> 10`. This way:
- 10: 1+0=1 (folded)
- 9: returned as 9 (not folded)
- 15: 1+5=6 (folded)
- 6: returned as 6 (not folded)

Here is the complete fixed file:

```ts
export function rootDigit(value: number): number {
  let left = value;
  if (left > 10) {
    let sum = 0;
    while (left > 0) {
      sum += left % 10;
      left = Math.floor(left / 10);
    }
    left = sum;
  }
  return left;
}
```