using System.Text.Json; namespace MoShiro.Protocol.Tests; public sealed class NodeRuntimeStatusTests { [Fact] public void HeartbeatStatus_UsesStableSnakeCaseEnumValues() { var heartbeat = new AgentHeartbeatExtra { RuntimeStatus = NodeRuntimeStatus.ProbePaused }; string json = JsonSerializer.Serialize(heartbeat, MoShiroJsonContext.Default.AgentHeartbeatExtra); Assert.Contains("\"runtime_status\":\"probe_paused\"", json, StringComparison.Ordinal); Assert.Equal(NodeRuntimeStatus.ProbePaused, JsonSerializer.Deserialize(json, MoShiroJsonContext.Default.AgentHeartbeatExtra)!.RuntimeStatus); } }