214 lines
13 KiB
Markdown
214 lines
13 KiB
Markdown
# Fiddler SAZ selection checkpoint
|
||||
|
|
|
|||
|
|
This experiment addresses [#3132](https://github.com/morluto/rea/issues/3132).
|
|||
|
|
Its runtime baseline is `ca1b2f8608c52ed721d3576ba5eeb1d66717b08c`.
|
|||
|
|
Production APIs and defaults are unchanged. The measured cohort establishes no
|
|||
|
|
stable whole-task token/time benefit; no new production preset, cache or API is
|
|||
|
|
justified by this checkpoint.
|
|||
|
|
|
|||
|
|
## Genuine public corpus
|
|||
|
|
|
|||
|
|
Both archives come from Microsoft's
|
|||
|
|
[Xbox Live Trace Analyzer](https://github.com/microsoft/xbox-live-trace-analyzer/tree/ad880ff00b26c4cae5e3c8864d3df438a03890ba/Source/TestData/CertWarnings)
|
|||
|
|
at immutable revision `ad880ff00b26c4cae5e3c8864d3df438a03890ba`.
|
|||
|
|
The repository's [MIT license](https://github.com/microsoft/xbox-live-trace-analyzer/blob/ad880ff00b26c4cae5e3c8864d3df438a03890ba/LICENSE.md)
|
|||
|
|
and original source files remain upstream. No sample binaries, raw HTTP material,
|
|||
|
|
authentication values, configs or detailed results are committed.
|
|||
|
|
|
|||
|
|
| Artifact | Archive bytes | Expanded member bytes | Sessions | Members | Producer archive comment |
|
|||
|
|
| ------------------------ | ------------: | --------------------: | -------: | ------: | ------------------------ |
|
|||
|
|
| `xbox-clear_nomp.saz` | 43,515 | 62,609 | 13 | 42 | Fiddler v4.5.1.2 |
|
|||
|
|
| `xbox-clear_mp_cs10.saz` | 5,223,519 | 9,223,820 | 1,311 | 3,939 | Fiddler v4.6.2.0 |
|
|||
|
|
|
|||
|
|
`corpus.json` pins download URLs, file sizes, SHA-256, Git blob IDs, directory
|
|||
|
|
coverage and question ordinals. Downloaded bytes match their Git blob and
|
|||
|
|
SHA-256. A third public 103-session archive is pinned as an admission-negative
|
|||
|
|
probe, outside completed-question comparisons. Archive comments report their producer
|
|||
|
|
versions; no local Fiddler installation or independent producer-version proof
|
|||
|
|
is claimed.
|
|||
|
|
|
|||
|
|
## Fixed analyst question
|
|||
|
|
|
|||
|
|
Before examining transaction facts, select ordinals `[12, 0, 6]` in the control
|
|||
|
|
and `[1310, 0, 655]` in the larger archive. Return that caller-selected order,
|
|||
|
|
original padded session IDs and archive-member coordinates, request method/URL,
|
|||
|
|
response status/version, all recorded Content-Type pairs in their original
|
|||
|
|
spelling/order, and stored response-body byte length/SHA-256.
|
|||
|
|
|
|||
|
|
Bodies retain their archived encoding. CONNECT trailing bytes are stored data,
|
|||
|
|
not an inferred HTTP application body or certificate interpretation. Empty bodies
|
|||
|
|
have zero bytes and the empty digest; an absent response remains absent. Header
|
|||
|
|
duplication/folding, Latin-1 spelling and binary body bytes are independently
|
|||
|
|
read without REA imports. Synthetic reader tests cover those semantics and
|
|||
|
|
malformed input; they establish no provider coverage.
|
|||
|
|
|
|||
|
|
The oracle admits only immutable corpus size/digest matches before constructing
|
|||
|
|
ZIP objects, preserves central-directory session/member order, reads selected
|
|||
|
|
members with size sentinels and CRC validation, and checks the source digest
|
|||
|
|
again. Necessary facts are independently checked for all six selected records.
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
python3 experiments/analysis-efficiency/test_saz_oracle.py
|
|||
|
|
python3 experiments/analysis-efficiency/saz-oracle.py xbox-clear_nomp.saz /absolute/clear_nomp.saz
|
|||
|
|
python3 experiments/analysis-efficiency/saz-oracle.py xbox-clear_mp_cs10.saz /absolute/clear_mp_cs10.saz
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
The baseline build, five oracle regressions and the SDK checker semantics passed
|
|||
|
|
on Linux. Real MCP preflight checks verify control retained pages/repeated reads,
|
|||
|
|
the large ordinal-selected result, and large complete-workflow recovery. The
|
|||
|
|
default large MCP return completes analysis but exceeds the existing 10 MiB stdio
|
|||
|
|
receive-buffer budget; its exact returned retained Evidence reference supports
|
|||
|
|
summary and complete pages. Recovery preserves the failed RPC and every follow-up
|
|||
|
|
call, and matches the independently checked necessary facts from direct selection.
|
|||
|
|
This transport limit is not a decoding timeout. Formal repetitions and actual
|
|||
|
|
model tasks are reported below; preflight observations are not eligible cost pairs.
|
|||
|
|
|
|||
|
|
The 103-session `xbox-x49_mp_cs21.saz` candidate contains an empty stored response
|
|||
|
|
member `raw/099_s.txt`, lacking an HTTP header/body separator. On this baseline,
|
|||
|
|
whole-capture admission fails with `invalid_request` / `invalid_format`. Its
|
|||
|
|
ordinals `[102, 0, 51]` were fixed before inspecting its transaction facts. The
|
|||
|
|
failed attempt/source member is preserved as a negative probe; no parser repair
|
|||
|
|
or successful-task comparison is claimed for that archive.
|
|||
|
|
|
|||
|
|
Other platform behavior remains unverified.
|
|||
|
|
Detailed outputs stay private; missing resource counters remain unknown.
|
|||
|
|
|
|||
|
|
The large selected CLI workflow also matches independent bytes and MCP facts,
|
|||
|
|
parameters and Evidence ID. A separate default complete CLI attempt hit the
|
|||
|
|
provider's 30-second timeout under the one-CPU guard; that failed attempt is
|
|||
|
|
preserved separately from the successful-analysis MCP receive-buffer failure.
|
|||
|
|
It does not prove a general CLI failure or identify an engine-stage cause.
|
|||
|
|
|
|||
|
|
Ten grading preflight cases cover valid actual Evidence, wrong final digests,
|
|||
|
|
unknown citations, missing limitations, answer order, failed calls before/after
|
|||
|
|
valid data, semantic-ID corruption and actual large retained recovery. Their
|
|||
|
|
answers/events are injected checker tests, not actual model trials. An invalid
|
|||
|
|
later duplicate is rejected by the domain's semantic-ID owner and does not erase
|
|||
|
|
earlier authenticated observations.
|
|||
|
|
|
|||
|
|
## SDK and model reproduction
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
node experiments/analysis-efficiency/measure.mjs \
|
|||
|
|
--runtime-root /absolute/frozen-runtime --revision ca1b2f8608c52ed721d3576ba5eeb1d66717b08c \
|
|||
|
|
--artifact xbox-clear_nomp.saz --path /absolute/clear_nomp.saz \
|
|||
|
|
--output /absolute/new-result-dir --schemas selected --saz-selection focused
|
|||
|
|
node experiments/analysis-efficiency/saz-model-prompt.mjs \
|
|||
|
|
--artifact xbox-clear_nomp.saz --selection focused > /absolute/prompt.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Use the same runtime, inputs, explicit provider settings and resource profile
|
|||
|
|
within a cost cohort; retain runtime/workflow/oracle/settings fingerprints. Repeat
|
|||
|
|
both core archives with baseline/focused/focused/baseline order and retain all
|
|||
|
|
failures/recovery RPCs. The `retained` diagnostic workflow also measures preview,
|
|||
|
|
two complete pages and a repeated first page. Preview omits headers, so preview
|
|||
|
|
alone is not equivalent to the complete header/body question.
|
|||
|
|
|
|||
|
|
Run real Codex tasks through `agent-trial.py` with an isolated temporary profile,
|
|||
|
|
the two exact `inspect_web_network_capture` / `inspect_analysis_view` tools,
|
|||
|
|
the same requested model/reasoning and at least two baseline/focused pairs for
|
|||
|
|
the control. Grade cited observations with `review-saz.mjs`, an independently
|
|||
|
|
produced oracle and the tested runtime. Count whole-task input/output tokens,
|
|||
|
|
cached input, elapsed time and all calls; parsed JSON bytes are not model tokens.
|
|||
|
|
The executed scope and all failed/deviating trials follow below.
|
|||
|
|
|
|||
|
|
## Executed SDK cohort
|
|||
|
|
|
|||
|
|
Runtime is frozen at `ca1b2f8608c52ed721d3576ba5eeb1d66717b08c`; corrected
|
|||
|
|
experiment source is `286c3e48ad50d9e84baa3af00ca522a8cef36e95`. All corrected
|
|||
|
|
SDK runtime/workflow/oracle/provider-setting fingerprints match. Node is 24.18.0
|
|||
|
|
and MCP SDK is 2.3.1. SDK processes have a 1 GiB Node heap ceiling; model MCP
|
|||
|
|
profiles separately record 512 MiB. Compare within each cohort.
|
|||
|
|
|
|||
|
|
The initial batch preserves 12 workflows / 36 RPCs. Two control baseline collectors
|
|||
|
|
incorrectly expected omitted request ordinals to remain omitted in Evidence;
|
|||
|
|
the owning application records the resolved full scope. Original RPC arguments
|
|||
|
|
preserve omission. Both saved replies independently validate correct typed
|
|||
|
|
Evidence/facts after the checker correction. Original failures, hashes and costs
|
|||
|
|
remain unchanged and are not pooled into the corrected batch.
|
|||
|
|
|
|||
|
|
The corrected batch executes 12 workflows / 32 RPCs: **11 workflows pass** all necessary
|
|||
|
|
byte/header/member checks with equal facts across successful arms. One large
|
|||
|
|
default complete query hits `provider_timeout` at the 30-second provider budget.
|
|||
|
|
Failed complete-return RPCs in successful retained recovery also stay in cost.
|
|||
|
|
|
|||
|
|
| Archive / workflow | Repetition outcomes | All parsed reply bytes | RPC ms | Whole runner ms |
|
|||
|
|
| ------------------ | ------------------- | ---------------------: | --------------------- | --------------------- |
|
|||
|
|
| control / baseline | passed / passed | 249272 / 249272 | 817.904 / 817.032 | 5393.982 / 4922.524 |
|
|||
|
|
| control / focused | passed / passed | 65390 / 65390 | 805.492 / 835.598 | 4897.670 / 4924.772 |
|
|||
|
|
| control / retained | passed / passed | 146981 / 146981 | 1846.344 / 8258.135 | 5861.567 / 18108.568 |
|
|||
|
|
| large / baseline | failed / passed | 520 / 114294 | 32303.203 / 13623.033 | 52432.342 / 18064.360 |
|
|||
|
|
| large / focused | passed / passed | 535767 / 535767 | 32917.417 / 23536.051 | 52933.865 / 37045.394 |
|
|||
|
|
| large / retained | passed / passed | 174477 / 174477 | 10970.973 / 11550.158 | 15140.224 / 15669.775 |
|
|||
|
|
|
|||
|
|
Control direct selection reduces parsed replies **73.8%**. Large complete-result
|
|||
|
|
recovery delivers 114,294 bytes, while direct ordinal selection retains the original
|
|||
|
|
container inventory and delivers 535,767 bytes. The five-call retained diagnostic
|
|||
|
|
delivers 174,477 bytes, including preview and repeated-page verification. A smaller
|
|||
|
|
record set alone does not guarantee less delivery; bytes are not wire bytes or
|
|||
|
|
model tokens.
|
|||
|
|
|
|||
|
|
Initial RPCs combine decoding, validation, canonicalization and delivery; no
|
|||
|
|
decode-only/format-only attribution is claimed. First-use and repeated retained
|
|||
|
|
reads remain separate RPC observations. Fresh client/server processes do not
|
|||
|
|
establish cold OS/provider caches. Substantial time variation precludes a stable
|
|||
|
|
general speedup claim.
|
|||
|
|
|
|||
|
|
## Actual Codex outcomes
|
|||
|
|
|
|||
|
|
Four actual Codex CLI 0.161.0 trials request `gpt-5.6-terra`/`high` with the same
|
|||
|
|
two enabled/preapproved passive tools in baseline/focused/focused/baseline order.
|
|||
|
|
The requested alias is pinned; resolved backend identity is unknown. Temporary
|
|||
|
|
profiles preserve original bytes. The requested mode is `direct`, but owned
|
|||
|
|
tool-context logs show actual `exec` discovery/dispatch; neither guaranteed direct
|
|||
|
|
presentation nor exact submitted model requests are established.
|
|||
|
|
|
|||
|
|
| Trial | Facts / fixed plan | MCP calls | Total input | Cached input | Uncached input, derived | Output | Seconds |
|
|||
|
|
| ---------- | ------------------ | --------: | ----------: | -----------: | ----------------------: | -----: | ------: |
|
|||
|
|
| baseline-1 | passed / failed | 4 | 97,988 | 53,504 | 44,484 | 1,556 | 51.266 |
|
|||
|
|
| focused-1 | passed / failed | 2 | 96,433 | 51,456 | 44,977 | 1,400 | 52.288 |
|
|||
|
|
| focused-2 | failed / failed | 0 | 21,379 | 9,984 | 11,395 | 317 | 16.301 |
|
|||
|
|
| baseline-2 | passed / failed | 4 | 172,043 | 125,696 | 46,347 | 1,943 | 62.570 |
|
|||
|
|
|
|||
|
|
**Three of four tasks answer correctly.** All three add compatible retained-view
|
|||
|
|
calls and differ from the initially prescribed single MCP-call plan. These
|
|||
|
|
successful completed-task costs stay visible separately from plan conformance.
|
|||
|
|
Baselines read three exact record views; the successful focus reads one complete
|
|||
|
|
selected-parent page.
|
|||
|
|
|
|||
|
|
The second focus makes zero MCP calls and reports unavailable tools. Its owned
|
|||
|
|
exact-name discovery returns an empty list, while the same names work in other
|
|||
|
|
trials; stderr is empty. The cause is unknown, not proof of a REA outage. Keep
|
|||
|
|
its 21,379 input tokens / 16.301 seconds as a failed task, without a replacement retry
|
|||
|
|
or an apparent speed win.
|
|||
|
|
|
|||
|
|
Only the first pair completes both questions: total input decreases **1.6%**,
|
|||
|
|
time increases **2.0%**, and derived uncached input increases **1.1%**. The second
|
|||
|
|
pair has no completed focused question; no paired speed/token claim is valid.
|
|||
|
|
Limitation prose was inspected: successful answers qualify stored bytes,
|
|||
|
|
ZIP-directory order and absent transfer/content decoding. This small mixed cohort
|
|||
|
|
justifies **no production optimization**.
|
|||
|
|
|
|||
|
|
## Resource and compatibility scope
|
|||
|
|
|
|||
|
|
Heavy work is serial with one CPU, 3 GiB early stop / 4 GiB hard family memory, no swap,
|
|||
|
|
task ceilings and host-availability/ownership checks. Corrected SDK payload-exit
|
|||
|
|
peak is 906,825,728 bytes (**865 MiB**); model peak is 873,148,416 bytes (**833 MiB**).
|
|||
|
|
All 16 corrected SDK/model payload phases verify cleanup, no observed OOM/abort
|
|||
|
|
and captured CPU counters. Terminal whole-scope counters remain unknown. Failed
|
|||
|
|
tool/model tasks do not become correct because their process exits cleanly.
|
|||
|
|
|
|||
|
|
Family CPU seconds at payload exit span 5.898–44.331 for corrected SDK workflows
|
|||
|
|
(median 15.808), including failed/recovered attempts. Model baseline/focus/focus/
|
|||
|
|
baseline observations are 7.573 / 7.303 / 5.810 / 7.618 CPU seconds; the third
|
|||
|
|
model task failed and cannot establish an efficiency gain. These counters include
|
|||
|
|
the owned runner/client/server/observer family, not decoder-only CPU.
|
|||
|
|
|
|||
|
|
Verification covers Linux, two immutable positive archives plus one genuine
|
|||
|
|
partial-message negative source, one installed parser stack and one requested
|
|||
|
|
model alias. Other platforms, Fiddler acquisition/import, live deployment or
|
|||
|
|
certificate semantics, arbitrary layouts, direct presentation guarantees and
|
|||
|
|
unmeasured engine stages remain unknown. Complete defaults, caller choices,
|
|||
|
|
encoded bytes, redactions, semantic Evidence identity and session-owned views
|
|||
|
|
remain the compatibility baseline. Reuse existing selectors/views; expand
|
|||
|
|
SDK/cache/default behavior only after completed tasks show a benefit.
|