Centralize state-aware telemetry version handling in native execution boundary
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.3k
- Forks
- 79
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 117
Description
Relevant area(s)
Windows, Linux, macOS
Brief description of your issue
State-aware telemetry schema/version selection and rejection are duplicated in the Node and .NET SDKs instead of being owned by the common executor/engine boundary. The duplicated logic can drift across SDKs and makes protocol policy a client responsibility.
Steps to reproduce
- Inspect
sdk/node/src/state-aware-helper.tstelemetry version selection and validation. - Inspect
sdk/dotnet/Microsoft.Mxc.Sdk/MxcLifecycle.csApplyTelemetryandSupportsStableTelemetry. - Compare both implementations with native state-aware request parsing and dispatch.
Expected behavior
SDKs serialize caller intent without independently implementing telemetry protocol-version policy. The common native executor/engine boundary selects or validates the applicable contract consistently for every SDK.
Actual behavior
Node and .NET each choose schema versions and reject telemetry on older versions independently, duplicating policy and creating cross-SDK drift risk.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading sdk/node/src/state-aware-helper.ts and sdk/dotnet/Microsoft.Mxc.Sdk/MxcLifecycle.cs, then compare their telemetry handling with native state-aware request parsing and dispatch. Trace where the common executor or engine boundary can own version selection and rejection. Done means SDKs serialize caller intent without independently enforcing telemetry protocol policy.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, rust, typescript
- Domain
- backend, operating-systems
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100