Skip to content

Add OpenAPI architecture overview - #69292

Open
PureWeen wants to merge 6 commits into
dotnet:mainfrom
PureWeen:shneuvil-openapi-architecture
Open

PureWeen wants to merge 6 commits into
dotnet:mainfrom
PureWeen:shneuvil-openapi-architecture

Conversation

@PureWeen

@PureWeen PureWeen commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Add OpenAPI architecture overview

  • You've read the Contributor Guide and Code of Conduct.
  • You've included unit or integration tests for your change, where applicable.
  • You've included inline docs for your change, where applicable.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

Add an OpenAPI architecture reference for contributors and coding agents.

Description

Context

This PR adds src/OpenApi/ARCHITECTURE.md as reference material for contributors and coding agents only, extracting durable OpenAPI technical knowledge into an in-area architecture overview for OpenAPI area-owner validation.

The single-file, in-area structure follows the ARCHITECTURE.md pattern established by @javiercn in #69147, with the sibling SignalR #69200, gRPC #69216, Hosting #69242, and MVC #69243 extractions as additional examples.

Summary

  • document how endpoint metadata and MVC ApiExplorer descriptions flow into OpenAPI generation
  • describe runtime and build-time document generation, serving, serialization, and cancellation boundaries
  • capture document, operation, and schema transformers with their DI and lifetime behavior
  • explain schema generation, references, serializer metadata, XML comments, source generation, and trimming/AOT boundaries
  • distinguish OpenAPI ownership from HTTP and MVC producers, OpenAPI.NET, System.Text.Json, hosting features, and build tooling
  • map focused documentation, verification boundaries, terminology, and adjacent subsystem ownership

Documentation only: the effective PR diff adds one new file, src/OpenApi/ARCHITECTURE.md. No runtime or public API changes.

Validation

  • git diff --check and git diff --check origin/main...HEAD passed
  • all repository-relative links in src/OpenApi/ARCHITECTURE.md resolve
  • Markdownlint was not run locally
  • the effective PR diff contains only the new src/OpenApi/ARCHITECTURE.md file

Related to #69011; this area-specific extraction does not close the wider effort.

@github-actions github-actions Bot added the area-minimal Includes minimal APIs, endpoint filters, parameter binding, request delegate generator etc label Sep 14, 2026
@PureWeen
PureWeen marked this pull request as ready for review September 14, 2026 17:07
Copilot AI lite review requested due to automatic review settings September 14, 2026 17:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved documentation accuracy and lifetime/framework qualification issues remain.

Get a fresh assessment by requesting another Copilot review.

Review tier: Lite
Findings: 2 Low severity

Open findings (2)
What changed in this PR

This documentation-only PR adds an OpenAPI architecture overview covering generation, transformers, schemas, serving, and subsystem ownership.

Changes:

  • Documents runtime and build-time document generation.
  • Describes schema, transformer, serialization, trimming, and AOT boundaries.
  • Maps verification areas and related subsystem ownership.
File Description
src/​OpenApi/​ARCHITECTURE.md Adds the OpenAPI architecture documentation; unresolved accuracy and qualification issues remain.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/OpenApi/ARCHITECTURE.md Outdated
Comment thread src/OpenApi/ARCHITECTURE.md Outdated
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Looks like this PR hasn't been active for some time and the codebase could have been changed in the meantime.
To make sure no conflicting changes have occurred, please rerun validation before merging. You can do this by leaving an /azp run comment here (requires commit rights), or by simply closing and reopening.

@dotnet-policy-service dotnet-policy-service Bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Sep 26, 2026
Copilot AI added 3 commits October 1, 2026 15:49
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@PureWeen
PureWeen force-pushed the shneuvil-openapi-architecture branch from 6799e64 to 46a927e Compare October 1, 2026 21:01
@PureWeen
PureWeen requested a review from SamMonoRT as a code owner October 1, 2026 21:01
Copilot AI added 2 commits October 2, 2026 10:55
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The document overstates tag-ordering guarantees because operation tags are not ordinally sorted.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
Resolved since last review (2)

Comment thread src/OpenApi/ARCHITECTURE.md Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-minimal Includes minimal APIs, endpoint filters, parameter binding, request delegate generator etc pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants