{
  "frozen_utc": "2026-10-30T04:32:44.835972Z",
  "core_config": "configs/core.yaml",
  "core_config_sha256": "e346f7351cd6e2b9c3cb7af01b97b16fc430caebe34c0a668724f688d9055077",
  "files": {
    "configs/models.yaml": "53aa16870bcd9f0089a8fc1be5b07b7f4b3ac46039f0482d0e9b9f338d66c056",
    "configs/data.yaml": "135bff1c467c0112e9964a8089bd617a6f1df0d86e58f928c142806000bcadc4",
    "configs/resources.yaml": "05a25b32251b365940a0143c31bad6073818356c1ab60c357e2447284e1178cf",
    "src/wp30/prompts.py": "96d6ab8cc60018368c56daafcf05e78ab597e86de219f89a9907e6173488f69a",
    "src/wp30/scoring.py": "e312bb4eac8fe52049d8277e4aed498d958a0d999b3ac7eb58e5612b4a4705a6",
    "src/wp30/data/synthetic.py": "34c23a76da2374a989a661c6233d4a925a51b252c68b55b7e7a845469152ae11",
    "src/wp30/data/exec_tasks.py": "237cb000b55096d890fb28acd63e67daedf622bdcd92634d9fdef06600b919c4",
    "src/wp30/methods/text.py": "f8637cac543ff2dd3aecb84ef1130c5b271501de0cac5519be0458d750a44573",
    "src/wp30/cache/sparse.py": "3b694f9f50b552cf6a19e2b1de5e93429c5246fbceccbc6c50430a3bb3ddcba4",
    "src/wp30/cache/selection.py": "02ed6b466159ca26a01d31227221a754d9306981fd01d19ac9532ac373b753d8",
    "src/wp30/cache/serialize.py": "f4ee45515cda4d0d268bec16b6477fdd5ab8490d0657a4271991b89c071ac90a",
    "src/wp30/backends/mlx_backend.py": "12948faed87827d2b84c9be1e892a1911f61d1faa59bc4fd039b0f119021b17a",
    "src/wp30/runner.py": "184a7f893a5957953e9a169f17453d03f5730b2330944a0405f70013231d1adf",
    "src/wp30/chains.py": "c1824ddcb845134db7311394da1bb92b9594d92809e53c00f96bfbc601584b2d",
    "src/wp30/fanin.py": "23c5e61423a1a211c2b1e6ea80c127d2848d7d8a5240c1cf212d5f5170a23c87",
    "protocol/hypotheses.md": "fbb4a57a9221570919e31a2903f573411482b661a6ae7d49fc2d08df089b905d",
    "protocol/analysis_plan.md": "a5c4f3fa857ef45304cc00239786e74048379bff142687c79079e8be93ec6f85",
    "data/manifests/splits.json": "9c193d2dd98c7574c251e46742015f37fbcb415fd49de17700babec5dfd7a546",
    "configs/core.yaml": "e346f7351cd6e2b9c3cb7af01b97b16fc430caebe34c0a668724f688d9055077",
    "configs/core_qwen.yaml": "8c890b8b205efb01e917e59303c2d05e4c063aaee9667cd501bcdd8fd2dd21d6",
    "configs/core_llama.yaml": "9b04bb65f74f9e5ab7aa1e0f25241923b0185813bc831e1a1b33a57523235c9a",
    "configs/core_transfer.yaml": "35fdf4e286eac911404527252556d5d3a33ff48c006c049622dfaa9f3170e37c",
    "configs/core_sender_alone.yaml": "bd74c181c690c8b39d504d8d2a65e1ddf6003ddb42a728a5ca11ef503533be60",
    "configs/chains_core.yaml": "c7ba5ff3a8a047308b2bd66b66e98da31ca1ccd1750d074daac108c8076a8fc9",
    "configs/fanin_core.yaml": "41ac7d8c8bcd4535da4e8d9a95919f3da77cdec79a6118f4b41f5ec6f4557a15",
    "configs/hosted_core.yaml": "abb7c087f96df6d9c57bbeb9baf826a47764ef240d085f9a55eb9f84ef7397ab",
    "configs/router.yaml": "8edbf8ab58f446e42c2b47da6c7b4e5c492c65773bf85db2dbbc24df210fc974",
    "runs/checkpoints/router_policy.json": "02382ab0cf7617d8cfbb4d5a5d7e8eb2db2e1da57756a5471c1c5b7c8411ab00",
    "runs/checkpoints/mapper_v2_qwen1b5_to_qwen3b.npz.manifest.json": "9238be9426eb430fa0b52149e1a3bd79f4b575adcf91732c34e733ceadeb46f5",
    "src/wp30/mapper.py": "ae9b43773f9af06d5d7fa37ecde5ac2f0ae70c58867832fc2804698d44c98c27",
    "src/wp30/router.py": "d035d0fb298583613d79a1e023597580fd8a19049aa9c91425146f84e5425502",
    "src/wp30/router_eval.py": "4c03056fbe136d20598013f31d850633544d6476bb4b0482374b47ce8e60ed03",
    "src/wp30/hosted.py": "d339c7d5d04897c5de6985fcf906daa23437f8de38f66a36c239e4f3a15bb271",
    "src/wp30/hosted_run.py": "0c955817d107fdce7c434a0f69c419a88607f5ab8633fd971704382fd3956928",
    "scripts/e6_network.py": "c34659a0f33c5630d418da4d8b152f8f7e5af3e1906851c5263a2471631d573e",
    "src/wp30/transport.py": "8b4aa372357a678429624eccef38e03a26929b22028f32b5a55f68e743acca31"
  },
  "test_split_first_evaluation": "after this freeze; see runs/logs/*core*.log first timestamp",
  "hypotheses": "# WP30 \u2014 Research questions and falsifiable hypotheses (registered before any held-out outcome was examined)\n\nRegistered: 2026-10-29 (Phase 1). Amendments only as dated entries at the bottom.\nTest-split outcomes had **not** been examined at registration (no test split existed yet; only the E0 smoke run on a\nhand-written 3-sentence memo had been executed, see `runs/logs/`).\n\n## Research questions\n\n- **RQ1 (compression frontier)** How do text shortening (A2\u2013A4, A8), packed KV quantization (B2), token eviction (B3\u2013B6) and\n  learned compaction (B7, if run) trade task quality against *measured* serialized bytes and resident cache bytes?\n- **RQ2 (transfer compatibility)** How much performance is preserved by same-checkpoint reuse (B1, cross-process, cross-node)\n  versus learned mappings between distinct checkpoints (Track C), relative to the receiver's own full-context answer?\n- **RQ3 (resource accounting)** Do rankings of methods under a token budget change when the budget is bytes, end-to-end latency,\n  peak memory or amortized cost over N reuses?\n- **RQ4 (repeated handoffs)** How do correct-fact retention, unsupported additions and task accuracy evolve after 1, 2, 4, 8 handoffs,\n  for prose summaries vs structured evidence, in closed vs repairable chains?\n- **RQ5 (evidence)** Under an equal byte budget, does structured evidence with source spans (A5) retain exact facts (identifiers,\n  numbers, dates, negations) better than an abstractive summary (A4)? Does metered retrieval (A6) repair losses, and at what cost?\n- **RQ6 (locality)** When is running the next query where the cache resides cheaper than moving the cache or recomputing from text,\n  as a function of context length, payload bytes, measured bandwidth and queue delay?\n- **RQ7 (adaptive policy)** Can a router fitted on development data improve the held-out quality/cost frontier over the best\n  development-selected static method, once routing overhead and fallbacks are counted?\n\n## Hypotheses (each may be rejected)\n\n- **H1** Lossy compression degrades exact identifiers, decimal numbers, negation and temporal order more than paraphrasable content:\n  on the synthetic private-fact family, the accuracy drop from A1 to A4 at a 512-token budget is larger (\u2265 10 percentage points)\n  for `exact_copy`, `negation`, and `revision` question types than for `single_fact` questions.\n- **H2** Packed KV quantization is model-dependent: at 4 bits/group 64, Llama-3.2-3B retains \u2265 95 % of its B0 accuracy while\n  Qwen2.5-3B loses \u2265 20 percentage points (motivated by E0 smoke: Qwen2.5-1.5B produced garbage at 4-bit in both the native\n  mlx_lm path and ours; Llama-3.2-3B did not). 8-bit retains \u2265 97 % for both.\n- **H3** Sink+recent eviction (B3) at \u2264 1/4 retention is worse than a *question-aware* attention-informed selection (B5-aware)\n  at equal retained positions, but **not** reliably better than random selection (B4) on questions whose answer lies in the\n  middle of the document.\n- **H4** Serialized cache bytes exceed raw UTF-8 document bytes by \u2265 2 orders of magnitude for 3B models; hence B1 transfer only\n  wins on total latency when (a) the receiver's prefill cost exceeds transport time, which on the measured LAN requires contexts\n  above a break-even length we will estimate (prediction: several thousand tokens), or (b) the cache is reused \u2265 N* times.\n- **H5** Repeated prose handoffs lose facts monotonically; after 4 handoffs the retained-correct-fact rate of A4 chains falls below\n  70 % while A5 (structured, explicit unknowns) stays above 85 %; unsupported additions appear mainly in prose chains.\n- **H6** Metered retrieval (A6, repairable chains) restores most of the lost exact facts but adds fetched bytes comparable to\n  the message itself.\n- **H7** Question-aware compression dominates question-blind compression at equal budget for *all* lossy methods; the gap is\n  largest for attention-based selection (which is query-dependent by construction).\n- **H8** A lossless transport codec (A7, zstd)",
  "protocol_hash": "404c52b34d964693da72ef459a036ffc42fbf5f6ba8748cc9de0c554ebebddd6",
  "core_experiment_ids": [
    "E1_core",
    "E3_core",
    "E3_core_sender",
    "E4_core",
    "E5_core",
    "E6_core",
    "ED_hosted_core",
    "E8_router"
  ]
}