```ts
/**
 * Counts how many temperature readings at the very end of the run sat at or above the target without interruption.
 * A run that dips below the target stops the count there.
 *
 * @param readings - Array of temperature readings in the order they were taken.
 * @param target - Target temperature to hold.
 * @returns The number of readings at the very end of the run that held at or above the target.
 */
export function kettleHold(readings: number[], target: number): number {
  let count = 0;
  for (let i = readings.length - 1; i >= 0; i--) {
    if (readings[i] < target) break;
    count++;
  }
  return count;
}
```