Skip to content

fix(cli): preserve transitive audience-filtered type references - #16078

Merged
kafkas merged 4 commits into
mainfrom
anar/fer-10708-nested-object-type-references-are-not-resolved-in-docs-ui
May 26, 2026
Merged

fix(cli): preserve transitive audience-filtered type references#16078
kafkas merged 4 commits into
mainfrom
anar/fer-10708-nested-object-type-references-are-not-resolved-in-docs-ui

Conversation

@kafkas

@kafkas kafkas commented May 22, 2026

Copy link
Copy Markdown
Member

Description

Linear ticket: Closes FER-10708

Fixes an audience-filtering issue where nested object types could render as any in docs when an OpenAPI schema reached nested inline object types through $ref chains.

The audience-filtered IR graph was only including one level of referenced type descendants. This meant direct $ref targets survived filtering, but their own nested inline child types could be dropped from the filtered IR.

Changes Made

  • Updated IrGraph.addReferencedTypes to walk the full transitive type-dependency graph instead of adding only direct descendants.
  • Added a V3 OpenAPI regression fixture covering nested object types reached through $ref chains and arrays.
  • Added regression coverage that verifies audience-filtered FDR output preserves all non-internal transitive type definitions.
  • Added a CLI changelog entry.

Testing

  • Unit tests added/updated
  • Manual testing completed

@kafkas
kafkas requested a review from amckinney as a code owner May 22, 2026 23:05

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@kafkas
kafkas force-pushed the anar/fer-10708-nested-object-type-references-are-not-resolved-in-docs-ui branch from d740f54 to 1060ce5 Compare May 22, 2026 23:13
@github-actions

github-actions Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Docs Generation Benchmark Results

Comparing PR branch against median of 5 nightly run(s) on main (latest: 2026-05-25T05:31:07Z).

Fixture main PR Delta
docs 213.3s (n=5) 207.1s (35 versions) -6.2s (-2.9%)

Docs generation runs fern generate --docs --preview end-to-end against the benchmark fixture with 35 API versions (each version: markdown processing + OpenAPI-to-IR + FDR upload).
Delta is computed against the nightly baseline on main.
Baseline from nightly run(s) on main (latest: 2026-05-25T05:31:07Z). Trigger benchmark-baseline to refresh.
Last updated: 2026-05-25 10:45 UTC

@github-actions

github-actions Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

SDK Generation Benchmark Results

Comparing PR branch against median of 5 nightly run(s) on main (latest: 2026-05-25T05:31:07Z).

Full benchmark table (click to expand)
Generator Spec main (generator) main (E2E) PR (generator) Delta
csharp-sdk square 75s (n=5) 109s (n=5) 65s -10s (-13.3%)
go-sdk square 137s (n=5) 285s (n=5) 121s -16s (-11.7%)
java-sdk square 215s (n=5) 272s (n=5) 238s +23s (+10.7%)
php-sdk square 62s (n=5) 82s (n=5) 54s -8s (-12.9%)
python-sdk square 134s (n=5) 230s (n=5) 126s -8s (-6.0%)
ruby-sdk-v2 square 94s (n=5) 126s (n=5) 82s -12s (-12.8%)
rust-sdk square 189s (n=5) 179s (n=5) 171s -18s (-9.5%)
swift-sdk square 60s (n=5) 746s (n=5) 50s -10s (-16.7%)
ts-sdk square 234s (n=5) 236s (n=5) 222s -12s (-5.1%)

main (generator): generator-only time via --skip-scripts (includes Docker image build, container startup, IR parsing, and code generation — this is the same Docker-based flow customers use via fern generate). main (E2E): full customer-observable time including build/test scripts (nightly baseline, informational). Delta is computed against generator-only baseline.
⚠️ = generation exited with a non-zero exit code (timing may not reflect a successful run).
Baseline from nightly runs on main (latest: 2026-05-25T05:31:07Z). Trigger benchmark-baseline to refresh.
Last updated: 2026-05-25 10:47 UTC

@kafkas
kafkas merged commit 2e04e28 into main May 26, 2026
205 of 218 checks passed
@kafkas
kafkas deleted the anar/fer-10708-nested-object-type-references-are-not-resolved-in-docs-ui branch May 26, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants