```ts
/**
 * Computes the seal for a given serial using the SR-11 scheme.
 * @param serial - A string of exactly eight decimal digits.
 * @returns The nine-character string consisting of the serial followed by its seal character.
 */
export function sealSerial(serial: string): string {
  if (typeof serial !== 'string' || !/^\d{8}$/.test(serial)) {
    throw new Error('Invalid serial format');
  }

  const weightCycle = [3, 7, 1, 3, 7, 1, 3, 7];
  let sum = 0;

  for (let i = 0; i < serial.length; i++) {
    sum += parseInt(serial[i], 10) * weightCycle[i];
  }

  const remainder = sum % 11;
  const sealCharacter = remainder === 10 ? 'K' : remainder.toString();

  return serial + sealCharacter;
}
```