• Sound mode S-11, pre-alpha
  • Design record 0007, Accepted

TSR1103

Ambient declaration '{0}' in a sound file asserts a value exists without checking it. Move it to a '.d.ts' file or import the real value.

A 'declare' variable, function, class, enum or namespace in a sound file asserts a value exists unchecked. Move it to a .d.ts file or import it.

Rule S-11: Dependency trust boundaries (level: sound). Reported by ts-r-check and ts-r-lsp in files that opt in to sound mode. See Sound mode.

What it means

declare const, declare function, declare class, declare enum and declare namespace in a sound .ts file tell the checker a value exists at runtime without proving it. It's reported at the declaration name.

Example

Spec case from design record 0007 (checked by the record's case harness, not by this site's build)
// declare const in a sound file asserts a value exists.
declare const API_URL: string; // @expect TSR1103
export const url: string = API_URL;

How to fix

  • Import the real value instead.
  • Or move the declaration into one project .d.ts file (for example types/ambient.d.ts).

Sound mode is defined in design record 0007 (accepted 2026-10-15).