Skip to study content
Counterfact

Invalid operationId characters generate invalid TypeScript identifiers

Operation IDs containing characters that TypeScript identifiers cannot contain produced generated source that failed to parse.

This page traces one detailed external-report case through the available source and release evidence. The public-record census includes additional discovery channels and separately identified recurrences.

Report
Pull request #1516
Reporter
nkincy
Reported
March 2, 2026
Reported version
2.0.0
Matched window
Outside matched window
First affected release entered matched window
No
Origin classification
Defect in a 2026 feature
Classification confidence
High
Chronology confidence
High
Accepted correction
PR #1516
First fixed release
2.0.1
Report to release
0.07 elapsed daysReport: 2026-03-02T16:41:12Z; corrected publication: 2026-03-02T18:20:23.946Z.

Finding

The capability and defect shipped together in 2.0.0. The external contributor reported and fixed the defect directly in an accepted pull request rather than opening a separate issue.

This record is why the population includes accepted standalone external defect pull requests. Counting only issues would omit a real public report merely because its author supplied the repair at the same time.

Evidence trail

Origin

Exact origin: e0696850, committed February 23, 2026; first affected release 2.0.0. The new operationId-based export feature used punctuation-bearing operation identifiers verbatim as TypeScript identifiers.

Source history and behavioral evidence

The operationId export implementation introduced the verbatim identifier. PR #1516 adds identifier sanitization and focused coverage; a maintainer approved it and all required checks passed before merge.

Release chronology

The feature and defect first shipped in 2.0.0. The accepted contributor fix shipped later on the report date in 2.0.1.

Primary sources

  1. Pull request #1516
  2. Accepted correction, PR #1516
  3. Origin or earliest confirmed affected commit
  4. Release 2.0.1