Counterfact

Reserved-keyword operationId values generate invalid TypeScript

An OpenAPI operation whose operationId was a TypeScript reserved word produced source that could not be parsed.

Report
Issue #1617
Reporter
dissemond-bitside
Reported
April 2, 2026
Reported version
2.4.0
Primary matched window
Included
First affected release entered primary window
No
Origin classification
Defect in a 2026 feature
Classification confidence
High
Chronology confidence
High
Accepted correction
PR #1622
First fixed release
2.5.0
Report to release
1 day

Finding

The applicable capability—operation-specific exports named from operationId—first shipped in 2026 and contained the defect in its initial release. There was no earlier working version of that feature to regress from.

This is one of two bugs attributable to code introduced in 2026. Calling it a feature defect is more precise than calling it a regression: the newly introduced behavior never had a working released state. The contribution passed project review, so authorship identifies provenance, not exclusive responsibility.

Evidence trail

Origin

Exact origin: e0696850, committed February 23, 2026; first affected release 2.0.0. The new operationId-based type-export feature used identifiers such as 'delete' verbatim in generated imports and type declarations.

Source history and behavioral evidence

The failure begins with the operationId export implementation merged through contributor-authored PR #1502. The repair aliases unsafe generated names while preserving the public operation identifier and adds reserved-word coverage.

Release chronology

The feature and defect first shipped together in 2.0.0. The fix shipped in 2.5.0 the day after the report.

Primary sources

  1. Issue #1617
  2. Accepted correction, PR #1622
  3. Origin or earliest confirmed affected commit
  4. Release 2.5.0