Where should I document whether counting starts at zero?
State it at the function boundary and in the caller's expectation. Include an example that shows the returned index and displayed position separately. This makes it easier to review a conversion without introducing an extra adjustment elsewhere.