HH-415: preserve binary frame and baseline semantics

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-08-21 14:42:38 +08:00
co-authored by multica-agent
parent d4b9c66629
commit aa48fd6943
5 changed files with 195 additions and 92 deletions
+27
View File
@@ -1,5 +1,6 @@
import assert from "node:assert/strict";
import { randomUUID } from "node:crypto";
import { readFile } from "node:fs/promises";
import test from "node:test";
import {
@@ -60,6 +61,25 @@ test("WebSocket limits aggregate drops without payloads", () => {
assert.deepEqual(dropped.dropped.reasons, { rate_limit: 2, frame_size_limit: 1, event_limit: 1 });
assert.equal(dropped.dropped.count, 4);
assert(!JSON.stringify(dropped).includes("YWJjZGVm"));
const binaryCollector = eventCollector("session-a", "target-a");
binaryCollector.listener("Network.webSocketFrameReceived", {
requestId: "ws-binary",
timestamp: 1,
response: { opcode: 2, payloadData: "AP8=" },
});
assert.deepEqual(binaryCollector.records[0], {
schema_version: "1.0",
session_id: "session-a",
target_id: "target-a",
kind: "websocket_frame",
connection_id: "ws-binary",
direction: "received",
opcode: 2,
payload_bytes: 4,
decoded_payload_bytes: 2,
payload: { state: "omitted", reason: "frame_policy" },
});
});
test("query and export isolate sessions before pagination", () => {
@@ -86,3 +106,10 @@ test("resource baseline summarizes repeated samples", () => {
cpu_percent: { min: 10, max: 30, mean: 20, p95: 30 },
});
});
test("fixed report retains every startup resource baseline", async () => {
const report = JSON.parse(await readFile(new URL("../artifacts/m0-report.json", import.meta.url), "utf8"));
assert(Array.isArray(report.resource_samples));
assert.deepEqual(report.resource_samples.map(({ sample }) => sample), [1, 2, 3]);
assert(report.resource_samples.every(({ resources }) => resources.sample_count > 1));
});