3.3+ planning ideas #5116
handrews
started this conversation in
Enhancements
Replies: 4 comments 5 replies
This comment has been hidden.
This comment has been hidden.
-
|
This might belong somewhere else but I'd also like us to consider working as a group on activities beyond specification writing. What do the users of the specification need from us to make it more useful or usable? In particular, can we support wider adoption or upgrades in some way? |
Beta Was this translation helpful? Give feedback.
2 replies
This comment has been hidden.
This comment has been hidden.
-
|
@mikekistler @SensibleWood @baywet I've started discussion #5120 for the OAS/Overlays integration. have copied all of your comments over there and hidden them here to re-focus this discussion on the meta-topic of release planning. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This collects a set of themes and areas of work I am proposing as a focus for the 3.x line in the near-ish term. Other people are strongly encouraged to propose additional areas of work! (in their own GitHub discussions). This is my personal set of suggested starting points.
I will be expanding on all of these in separate new or existing discussions/issues. Please don't get too deep in the weeds on this discussion — such comments will be moved to the appropriate feature issue/discussion if that happens.
In some cases I've linked to issues, but I have not tried to exactly match all themes to all issues. And sometimes I link to another issue with a larger list.
Organizing releases
I am not specifying what ought to go into 3.3 vs 3.4 vs whatever, as I would prefer someone else with TSC authority guide that debate and make those decisions.
The first/next/later steps organization is to help provide options for release content and scheduling decisions. It is not necessary to work all first steps first, etc.
Themes
I've grouped the work into four major themes, which are all related in some way:
We want the OAS to be powerful, flexible, and modern. There are things we know we can do, and other areas where we need to learn our community's needs.
Ecosystem of three specifications
Description authors and users need to know when to use each of our specifications, and why.
First ecosystem steps
First, figure out where we are and write it down!
Doing this is essential to organizing our own work and consistently and usefully communicating with users. And not just the ones that ask questions on GitHub.
Next ecosystem steps
Next, enable / encourage implementations to work together.
The latter two points require understanding the use cases, both for whether they should be done at all (Arazzo probably, Overlays maybe) and how (tight vs loose coupling).
Fully modeling HTTP interactions
The OAS has both low-level HTTP modeling and high-level abstracted features. Both have gaps in them, and for low-level HTTP modeling, those gaps prevent working around gaps in higher-level features. All gaps disrupt the experience of using an OAD to automate API usage (for humans or LLMs).
First HTTP steps
Header modeling is our biggest gap in describing HTTP usage. Many high-level features could be adequately, if not elegantly, supported by proper header modeling. Both @karenetheridge and @jeremyfiel have expressed interest in this, and @mikekistler brought up the Example Object naming convention.
contentmap key media type matching with structured suffixes and parametersNote that RFC9110 §12.5.1 provides examples of matching media types with parameters in
Accept.Path matching: #213, #1970, #2015, #2356, #2530, #2564, #3162, OAI/sig-moonwalk#105, OAI/sig-moonwalk#119
Media type matching: #3162
For a (quite long) list of header modeling-related issues, see OAI/sig-moonwalk#108
Next HTTP steps
AcceptandContent-Typewith minimal impact on media type matchingapplication/http?)#2342, OAI/sig-moonwalk#127, OAI/sig-moonwalk#183
Later HTTP steps
Modern Security
This area is complex and requires research and gathering expert input.
There are several great proposals including ones from @whitlockjc, @SensibleWood , and @alex-feel, but it will take us a while to understand how to incorporate all of those ideas without stepping on each other. So...
First security steps
These steps leverage existing supported behavior to allow workarounds for current limitations, and to allow Arazzo to define auth workflows where we are unable to describe them with Security Schemes.
application/jwtand other security/encryption-related media types to our registryAn alternative to the last two would be modeling auth servers with their own OADs and using Arazzo to connect them, but as some auth behavior is a bit different, that might actually be harder. But worth considering.
Many of the following issues could also get more elegant solutions in next/later steps, and for a few it's not clear where they fit: #61, #1416, #1464, #1731, #1881, #1995, #2027, #2232, #2284, #2296, #2322, #2419, #3983, #4836, #4925, OAI/sig-moonwalk#84, OAI/sig-moonwalk#50
Assuming full header modeling support and Overlay support for adding configuration to every selected endpoint, more-or-less every requested security feature could be modeled this way. Although not elegantly.
Next security steps
We probably want to be starting these alongside the first steps, I just think they'll take longer.
Some bits of these issues go here, some in the "Later security steps": #1702, #1875, #1934, #2239, #2398, #3612, #3709, #4106, #4807, OAI/sig-moonwalk#46, OAI/sig-moonwalk#69
Later security steps
Understanding AI use cases
For this, we need to convene a SIG, do a lot of research, and talk to a lot of people.
However, we know that gaps in HTTP modeling and security support make it harder for LLMs to consume an API, so the above proposals have been chosen in part with that in mind.
Beta Was this translation helpful? Give feedback.
All reactions