Parent: wave-av/wave-cli#31
Why
Eleven products are missing from openapi.yaml entirely — including several with real implementations behind them. No spec means no SDK, no CLI command, and no way to dogfood them.
Grounded
Missing from the spec, verified 2026-07-24 against wave-catalog/catalog/products.json:
gateway moq dispatch srt bridge render ndi rist dante omt media-engine
moq is split out as its own issue (it is proven-live and comes first). Of the remainder, the ones with real substance behind them:
- render (
wave-render) — 15.6k LoC, produces MP4 + alpha ProRes; hosted service is dark but the code is real
- dispatch —
POST /v1/dispatch → 402, so the route is registered and metered
- srt — health 200,
/v1/ingest → 404; needs grounding before it is specced
- gateway — self-service surface (capabilities, keys, usage) has no spec at all
Scope
Add the missing products to openapi.yaml, ordered by how real they are: render → dispatch → gateway self-service → srt → the transports (ndi/rist/dante/omt/bridge/media-engine).
Rule: ground each one before speccing it. A spec written from an aspiration is worse than no spec — it generates an SDK method that 404s in a developer's hands. Where a product has no working route, it belongs in the reconciliation issue (mark it planned), not here.
Boundary
Does not implement any product. Does not spec moq (separate issue). Does not spec anything that cannot be probed working — that is the whole point.
Done when
Every product in wave-catalog/products.json is either specced with a probe-verified path, or explicitly marked as unimplemented per the reconciliation issue. No product is silently absent.
Parent: wave-av/wave-cli#31
Why
Eleven products are missing from
openapi.yamlentirely — including several with real implementations behind them. No spec means no SDK, no CLI command, and no way to dogfood them.Grounded
Missing from the spec, verified 2026-07-24 against
wave-catalog/catalog/products.json:moqis split out as its own issue (it is proven-live and comes first). Of the remainder, the ones with real substance behind them:wave-render) — 15.6k LoC, produces MP4 + alpha ProRes; hosted service is dark but the code is realPOST /v1/dispatch→ 402, so the route is registered and metered/v1/ingest→ 404; needs grounding before it is speccedScope
Add the missing products to
openapi.yaml, ordered by how real they are:render→dispatch→gatewayself-service →srt→ the transports (ndi/rist/dante/omt/bridge/media-engine).Rule: ground each one before speccing it. A spec written from an aspiration is worse than no spec — it generates an SDK method that 404s in a developer's hands. Where a product has no working route, it belongs in the reconciliation issue (mark it planned), not here.
Boundary
Does not implement any product. Does not spec
moq(separate issue). Does not spec anything that cannot be probed working — that is the whole point.Done when
Every product in
wave-catalog/products.jsonis either specced with a probe-verified path, or explicitly marked as unimplemented per the reconciliation issue. No product is silently absent.