Compiler preview contract
The bounded Linux candidate is a concrete preview of tscc as a compiler, not a declaration that it replaces tsc for arbitrary projects.
TCP0-TCP5 remains the frozen 579-case preview contract. The implementation has since advanced to CP75 with generics/inference, overloads, classes, CFG narrowing, advanced types, bounded JSX semantics, source/declaration maps, incremental output and stronger hardening. Those additions do not retroactively widen this preview manifest; a new compatibility campaign must earn the next contract.
frozen preview baseline across 579 cases.
current external suite across 618 cases after TRS1-8 reconciliation.
frozen module-free emitted output returns the expected result under Node and JS++.
deterministic malformed-input mutations complete under the candidate gate.
What TCP0-TCP5 freeze
- ES2022 output with preserve, esnext or commonjs modules and JSX preserve.
- Machine-readable checked-versus-emitted feature classification and explicit exclusions.
- Stable diagnostic families, deterministic order and pinned non-pretty output.
- Sorted project roots, byte-identical repeat builds and visible unknown-option failures.
- Default partial-success emission and all-or-nothing
noEmitOnErrorpolicy. - Relative named-import propagation for bounded callable and structural types.
- A dependency-free production compiler boundary: no Node,
tscor JS++ linkage. - Reproducible Linux candidate archives, ASan/UBSan, representative projects and a loose startup guardrail.
Frozen runtime intersection
type Pair = [number, number];
interface Box { value: number; }
function total(pair: Pair, box: Box): number {
return pair[0] + pair[1] + box.value;
}
total([10, 12], { value: 20 }); // 42 The production compiler emits the frozen source and both Node and JS++ return 42. The case deliberately avoids modules because JS++ module loading is not part of its embedded preview.
Explicit exclusions
Package and node_modules resolution, path mappings, declaration emission, source maps, watch/incremental compilation, full standard-library processing, overload resolution, generics checking, classes, broad narrowing and complete TypeScript inference are not part of this preview.
Evidence still ahead
PC0V/CP73 external Valgrind confirmation is complete for the retained Linux validation workload. PC0P covers platform packages. TRS10 now retains classified real-package probes, and TRS11 used them to select CP81-85. Those results still do not widen the product beyond Compiler Preview; they determine what must be fixed next.