Repository navigation
Protocol manifests: cross-language parity tests (#747) - #753
Merged
Merged
Conversation
The five ContractParity tests that compared core/Protocol.h with the TypeScript prototype were retired with it (#738), leaving the capability, request and event manifests checked against nothing. - kNativeMediaCoreCapabilities is now exactly what a constructed core reports in profile().capabilityStates. tiles-layer and webrtc-output were never reported and are removed. - kCoreRequestTypes is every request JsonRpcServer dispatches on (33), compared with the dispatcher in both directions. Each request the C# shell sends and each type the Swift shell sends must be handled by the core. - kRequiredMvpCapabilities must equal the C# validator's list. - Each core event must be emitted by the core and parsed by the C# shell. - kNativeBridgeCommandTypes and kZoomMediaSpineSyncTypeNames described the deleted TypeScript bridge and are removed, as is the unused C# enum NativeMediaCoreCapability (it disagreed with the core on three names). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #747
Why
#745 retired the five
ContractParitytests that comparedcore/Protocol.hwith the TypeScript prototype. That left the capability, request and event manifests checked against nothing, and they had drifted.What the tests now check
kNativeMediaCoreCapabilitiesprofile().capabilityStateson a constructed core, both directionskRequiredMvpCapabilitiesNativeMediaCoreProfileValidator.RequiredMvpCapabilitieslist, exact; and each must be a capability the core reportskCoreRequestTypeshasType(request, …)inJsonRpcServer.cpp, both directions["type"] = "…"in the C# shell and every"type": "…"in the Swift shell must be a handled request or commandkCoreEventTypesnative/srcand parsed in the C# shellDrift found and fixed
tiles-layerandwebrtc-outputwere in the capability manifest but the core never reports them. Removed.kCoreRequestTypeslisted 5 of the 33 requests the dispatcher handles. It now lists all of them.kNativeBridgeCommandTypesandkZoomMediaSpineSyncTypeNamesdescribed the deleted TypeScript bridge; nothing referenced them. Removed.NativeMediaCoreCapabilitywas unused and disagreed with the core on three names (virtual-camera,tiles-layer,ndi-ingest). Removed.No runtime behaviour changes: the manifests are referenced only by tests.
Verification
CoreVideoPro.MediaCore.Testspass after the enum removal.🤖 Generated with Claude Code