Runtime (Framework 7 RequestPredicates.version(...), routing is correct):
  GET /widgets/7, API-Version: 1 -> 200
{"apiVersion":"1","id":"7"}
  GET /widgets/7, API-Version: 2 -> 200
{"apiVersion":"2","widgetId":"7"}

springdoc documentation for the SAME path (2 @RouterOperation entries registered,
one per version, via @RouterOperations on the RouterFunction bean):
{
  "tags" : [ "widget-handler" ],
  "operationId" : "getWidgetV1",
  "responses" : {
    "200" : {
      "description" : "OK",
      "content" : {
        "*/*" : {
          "schema" : {
            "$ref" : "#/components/schemas/ServerResponse"
          }
        }
      }
    }
  }
}

Only ONE @RouterOperation survived (operationId=getWidgetV1) — the second is silently absent, not merged into a oneOf the way the annotated
@GetMapping handlers were in 02-what-springdoc-actually-generates.txt. The response schema
also did not resolve to either AccountV1-style record — it fell back to "#/components/schemas/ServerResponse" (springdoc introspecting the handler method's own ServerResponse return type,
since @RouterOperation has no version attribute and I added no explicit operation() override).