Skip to content

Commit 93d611f

Browse files
committed
test: pin compression high-entropy regressions
1 parent b12f84c commit 93d611f

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

test/codex_pooler/gateway/request_compression/strategies/json_document_lossless_test.exs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,50 @@ defmodule CodexPooler.Gateway.RequestCompression.Strategies.JsonDocumentLossless
6262
assert Enum.count(values, fn {key, _value} -> key == "repeat" end) == 2
6363
end
6464

65+
test "preserves synthetic high-entropy values while keeping JSON parseable" do
66+
synthetic_high_entropy_value =
67+
"synthetic-high-entropy-placeholder-Zx9Kq3Wm7Pv2Lr8Nt4Bc6Df1Gh5Jy"
68+
69+
original = """
70+
{
71+
"metadata": {
72+
"kind": "sanitized-fixture",
73+
"nested": {
74+
"synthetic_value": "#{synthetic_high_entropy_value}",
75+
"description": "This verbose synthetic fixture exists to keep token reduction observable."
76+
}
77+
},
78+
"records": [
79+
{
80+
"name": "alpha",
81+
"status": "ok",
82+
"notes": "Pretty printed whitespace and repeated plain fields should disappear during minification."
83+
},
84+
{
85+
"name": "beta",
86+
"status": "ok",
87+
"notes": "The JSON document strategy must preserve values exactly instead of masking content."
88+
}
89+
],
90+
"summary": {
91+
"line_count": 2,
92+
"safe_fixture": true
93+
}
94+
}
95+
"""
96+
97+
assert {:ok, %{content: compressed, metadata: metadata}} =
98+
JsonDocumentLossless.compress(original, model: @model)
99+
100+
assert Jason.decode!(compressed) == Jason.decode!(original)
101+
assert compressed =~ synthetic_high_entropy_value
102+
assert String.contains?(compressed, "\n...[compressed]...\n") == false
103+
assert String.contains?(compressed, " ...[compressed]... ") == false
104+
assert metadata.strategy == :json_document_lossless
105+
assert metadata.original_tokens > metadata.compressed_tokens
106+
refute inspect(metadata) =~ synthetic_high_entropy_value
107+
end
108+
65109
test "skips arrays, invalid JSON, tiny token-neutral objects, and missing tokenizers" do
66110
assert :skip = JsonDocumentLossless.compress(~S([{"status":"ok"}]), model: @model)
67111
assert :skip = JsonDocumentLossless.compress(~S({"status": "open",}), model: @model)

test/codex_pooler/gateway/request_compression/strategies/log_output_test.exs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,36 @@ defmodule CodexPooler.Gateway.RequestCompression.Strategies.LogOutputTest do
203203
assert_safe_metadata(metadata, :log_output, sentinel)
204204
end
205205

206+
test "keeps synthetic high-entropy values out of lossy search-like log metadata" do
207+
synthetic_high_entropy_value =
208+
"synthetic-high-entropy-placeholder-Zx9Kq3Wm7Pv2Lr8Nt4Bc6Df1Gh5Jy"
209+
210+
content =
211+
grep_failure_log_fixture(3,
212+
summary: "search completed with 3 errors",
213+
sentinel: synthetic_high_entropy_value
214+
)
215+
216+
assert {:ok, %{content: compressed, metadata: metadata}} =
217+
LogOutput.compress(content,
218+
model: @model,
219+
min_bytes: 0,
220+
min_lines: 1,
221+
head_lines: 0,
222+
tail_lines: 0,
223+
context_lines: 0,
224+
max_important_lines: 1
225+
)
226+
227+
assert compressed =~ "[compressed log output: omitted"
228+
assert compressed =~ "rg: error: fixture_1.ex: No such file or directory"
229+
assert compressed =~ "grep: error: fixture_2.ex: Permission denied"
230+
assert compressed =~ "error: search backend fixture 3 exited with status 2"
231+
assert compressed =~ "search completed with 3 errors"
232+
refute compressed =~ synthetic_high_entropy_value
233+
assert_safe_metadata(metadata, :log_output, synthetic_high_entropy_value)
234+
end
235+
206236
test "skips grep-shaped summaries when a referenced detail would be omitted" do
207237
content =
208238
grep_failure_log_fixture(2,

0 commit comments

Comments
 (0)