{
  "task": "M1-03D",
  "generatedBy": "pnpm zone:loadcheck (cargo run --release -p zoen-zone --bin loadcheck)",
  "what": "200 headless WebSocket clients on loopback against the in-process zone server for 10 s: random walk (new heading every 0.5-2 s), one input per tick, an ack per snapshot, a ping per second; then a 1000 close each",
  "machine": {"os": "macos", "arch": "aarch64", "availableParallelism": 8, "loadAverageBefore": "3.43 9.47 30.54", "loadAverageAfter": "3.21 9.22 30.20", "note": "clients, server tick and connection threads share this machine"},
  "thresholds": {"loopP99Ms": 15.000, "loopP99Source": "netcode.json tick.targetP99Ms", "downstreamMaxBps": 32000, "downstreamSource": "netcode.json snapshot.hardCapKBps (KB = 1,000 B)", "skippedMaxPercent": 1},
  "clients": {"requested": 200, "joined": 200, "cleanCloses": 200, "serverCloses": 0, "errors": 0, "activeSecondsMean": 10.046, "runSeconds": 10.051},
  "loop": {"what": "server loop iteration: ingest + tick + all snapshots + hand-off (10 us histogram)", "seconds": 11.155, "ticks": 224, "p50Ms": 3.970, "p99Ms": 5.530, "maxMs": 5.775, "meanMs": 3.974, "tickThreadCpuMsPerTick": 3.864, "cpuShareOfLoopWall": 0.972, "overTarget": 0, "overBudget": 0, "catchUpTicks": 0, "droppedTicks": 0, "stalls": 0, "maxLatenessMs": 10.036},
  "frames": {"sent": 44671, "skipped": 0, "snapshotErrors": 0, "clientSnapshots": 42461, "clientFullSnapshots": 2280, "clientMissedTicks": 0, "serverMaxSnapshotPayloadBytes": 1448},
  "downstreamBpsPerClient": {"mean": 12684.4, "p50": 12734.9, "p95": 13668.6, "p99": 13743.7, "max": 13773.7, "samples": 200},
  "downstreamServerCount": {"meanBps": 12006.8, "maxBps": 12683.2, "note": "server-side bytes handed to each writer, join to leave"},
  "upstreamBpsPerClient": {"mean": 534.3, "p50": 533.4, "p95": 544.4, "p99": 546.1, "max": 547.6, "samples": 200},
  "upstreamTarget": {"bps": 300, "source": "netcode.json snapshot.upstreamTargetKBps (NETCODE_1000.md: 20 inputs/s x ~14 B)", "within": false, "note": "recorded, not a check: the target counts inputs only; acks (one per snapshot) and pings are separate messages"},
  "snapshotFrameBytes": {"mean": 599.6, "p50": 580.0, "p95": 775.0, "p99": 1452.0, "max": 1452.0, "samples": 42461},
  "rttMs": {"mean": 47.313, "p50": 47.283, "p95": 54.190, "p99": 55.756, "max": 58.759, "samples": 2000},
  "rttNote": "application RTT on loopback: the tick answers pings, and each client sends right after a snapshot arrives, so about one tick period (50 ms) is server queueing, not network",
  "messagesPerClientPerSecond": {"snapshots": 21.13, "inputs": 19.34, "acks": 21.13, "pings": 1.00, "pongs": 1.00},
  "inputs": {"applied": 38854, "stale": 0, "dropped": 0},
  "server": {"accepted": 200, "joins": 200, "leaves": 200, "peakClients": 200, "refusedHandshakes": 0, "versionMismatches": 0, "full": 0, "idleTimeouts": 0, "badMessages": 0, "threadsLeft": 0},
  "errors": [],
  "checks": {"allJoined": true, "allClosedCleanly": true, "noClientErrors": true, "serverSawEveryLeave": true, "noStaleOrDroppedInputs": true, "framesSkippedUnder1Percent": true, "ticksDroppedUnder1Percent": true, "loopP99WithinTarget": true, "downstreamWithinHardCap": true, "noSnapshotErrors": true, "noThreadsLeft": true},
  "pass": true
}
