microsoft / microsoft/mxc

Centralize state-aware telemetry version handling in native execution boundary

Open
#1,085 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug OS-Windows Priority1
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
  1. Inspect sdk/node/src/state-aware-helper.ts telemetry version selection and validation.
  2. Inspect sdk/dotnet/Microsoft.Mxc.Sdk/MxcLifecycle.cs ApplyTelemetry and SupportsStableTelemetry.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.