mirror of
https://github.com/morluto/rea.git
synced 2026-10-31 03:45:39 +00:00
Select completed source-to-bundle mappings and candidates through the shared view owner, preserve reference-file provenance, and retain full Evidence. Reuse bounded JSON reading, heap admission, and cancellation before session writes. Verified public Redux Toolkit source/map facts with an independent oracle, equivalent CLI/MCP workflows, focused negative controls, and complete CI/review. Historical paired SDK context estimates fall about 64%; timing/resource tradeoffs and final verification receipts are recorded without a general speedup or actual model-token claim. Fixes #6112.
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
estimateJsonValueBytes,
|
|
requireAuthenticationHeadroom,
|
|
} from "./JsonAuthenticationHeadroom.js";
|
|
describe("JSON authentication headroom", () => {
|
|
it("estimates parsed JSON at no less than its UTF-16 text", () => {
|
|
const text = "x".repeat(1000);
|
|
expect(estimateJsonValueBytes(text)).toBeGreaterThanOrEqual(2000);
|
|
expect(
|
|
estimateJsonValueBytes({ outer: [text, { inner: text }] }),
|
|
).toBeGreaterThan(2 * estimateJsonValueBytes(text));
|
|
});
|
|
|
|
it("refuses authentication when live heap headroom cannot hold its copies", () => {
|
|
const value = { normalized_result: "y".repeat(10_000) };
|
|
expect(
|
|
requireAuthenticationHeadroom(value, {
|
|
operation: "compare_source_to_bundle",
|
|
path: "/tmp/capture.json",
|
|
description: "Cannot authenticate graph",
|
|
availableBytes: 1024,
|
|
}),
|
|
).toMatchObject({
|
|
ok: false,
|
|
error: {
|
|
_tag: "AnalysisResourceConstraintError",
|
|
resource: "memory",
|
|
reportedLimits: {
|
|
input_path: "/tmp/capture.json",
|
|
available_heap_bytes: 1024,
|
|
},
|
|
},
|
|
});
|
|
expect(
|
|
requireAuthenticationHeadroom(value, {
|
|
operation: "compare_source_to_bundle",
|
|
path: "/tmp/capture.json",
|
|
description: "Cannot authenticate graph",
|
|
availableBytes: 1 << 30,
|
|
}),
|
|
).toEqual({ ok: true, value: undefined });
|
|
});
|
|
});
|