`responses` is a REQUIRED field on an operation in OAS 3.x. 35 of the 41
operations under /v1/platform carried none, and openapi-generator does not
degrade on that — it aborts the whole document:
-attribute paths.'/v1/platform/sites'(post).responses is missing
... 34 more
at CodegenConfigurator.toContext(CodegenConfigurator.java:717)
So this was not a platform-tag problem. hanzo.yaml produced NO client in ANY
language: typescript, python, go, java, kotlin, ruby and rust all died on the
same parse. The committed SDKs still build only because they predate the merge
that brought these routes in.
They get a 2XX with no `content`. That is the honest shape rather than a
placeholder: cloud's openapi.yaml — the golden projection this file is authored
from — does not model these bodies either (it has the same 35 gaps), and the
platform schema set is 7 entries with no siteView, deploymentView or fleet row
to point at. Inventing one would write a contract into every SDK that the server
never promised. The routes are callable and typed as returning no modelled body;
when cloud annotates the response types, regenerating from it fills them in.
merge.py re-run: 1132 paths, 1519 operations, 778 schemas, 0 missing responses.
The hanzo.yaml diff is exactly these 105 lines — no incidental churn.
Co-authored-by: Hanzo Dev <[email protected]>