{
  "artifact": "d1_engine_hit_rate",
  "config_path": "configs/d1_engine_hit_rate.yaml",
  "sealed_utc": "2026-09-02T13:44:56.172546+00:00",
  "threshold": {
    "ratio_orientation": "apc_off/apc_on",
    "primary": "the APC-on knee exceeds the APC-off knee: paired median ratio apc_off/apc_on < 1.0",
    "paired_ratio_must_be_significant_at_05": false,
    "hit_rate_claim": "apc_on engine_prefix_cache.hit_rate_derived is reported; branches per decision_rule",
    "paired_cv_pct_max": 8.72,
    "direction_is_known_a_priori": "Same as S46: APC can only help on a trace with reuse. This run's claim is the hit rate, not the knee; the knee is reported as a consistency check against S46's 1.3048x only."
  },
  "threshold_sha256": "82d15baf960343564b0ec952c3fd4975043ae1213f987215abe42859bb269796",
  "config_sha256": "767796df099ac3509a2b6841a3f09b811c9e7858cf18d3d96198da8617a257b7",
  "config": {
    "artifact": "d1_engine_hit_rate",
    "sprint": "D1",
    "claim": "vLLM's own prefix-cache counters, read from /metrics during the S46 protocol, give the engine's hit rate at the capacity the offload oracle modelled -- so the modelled 3.9% and the measured 30.5% knee uplift can be reconciled or shown irreconcilable.",
    "model": "Qwen/Qwen2.5-1.5B-Instruct",
    "provider": "modal",
    "reps": 1,
    "seed": 20260903,
    "cost_cap_usd": 5.0,
    "telemetry_hz": 10,
    "warmup": 8,
    "request_timeout_s": 300,
    "drain_timeout_s": 45,
    "client_shards": 8,
    "server_args": {
      "max_model_len": 16384,
      "max_num_seqs": 256,
      "gpu_memory_utilization": 0.85,
      "num_gpu_blocks_override": 4096
    },
    "arms": [
      {
        "name": "apc_off",
        "server_args": {
          "enable_prefix_caching": false
        }
      },
      {
        "name": "apc_on",
        "server_args": {
          "enable_prefix_caching": true
        }
      }
    ],
    "slo": {
      "name": "nominal",
      "ttft_p95_ms": 2000.0,
      "tpot_p95_ms": 50.0,
      "ttft_p99_ms": 4000.0,
      "min_completion_rate": 0.99
    },
    "trace": {
      "source": "mooncake_timed_600",
      "max_requests": 600,
      "block_tokens": 64,
      "max_output_tokens": 256,
      "duration_s": 60.0,
      "calibrate_tokens": true
    },
    "gpu": "L40S",
    "sweep": {
      "lo_qps": 6.0,
      "hi_qps": 14.0,
      "coarse_points": 5,
      "refinements": 4,
      "reference_offered_qps": 100.0
    },
    "decision_rule": {
      "read": "summary.engine_prefix_cache.hit_rate_derived in the apc_on arm, at every ladder point; the number of record is the one at the highest SLO-passing load.",
      "modelled_gpu_only_hit_rate": 0.038678,
      "control": "apc_off: prefix_cache_hits must be 0. If not, the counters are not what they claim.",
      "branch_a": "apc_on hit rate <= 0.08 (within ~2x of the model): the LRU stand-in is roughly right and APC's 30.5% knee gain is NOT explained by cache hits. This opens a mechanism question -- what else does enable_prefix_caching change (batch composition, prefill scheduling, the step law's b)? That is the discovery branch. S50 stays unauthorised.",
      "branch_b": "apc_on hit rate >= 0.12 (>= 3x the model): the LRU stand-in badly understates vLLM's prefix-tree cache. Recompute the offload ceiling with a prefix-tree model before any Track P number ships; the 13.004 pp headroom shrinks. S50 authorisation then turns on the corrected ceiling, not this one.",
      "between": "0.08 < rate < 0.12: report as-is, both branches stay open; n=1 does not decide."
    },
    "preregistered_threshold": {
      "ratio_orientation": "apc_off/apc_on",
      "primary": "the APC-on knee exceeds the APC-off knee: paired median ratio apc_off/apc_on < 1.0",
      "paired_ratio_must_be_significant_at_05": false,
      "hit_rate_claim": "apc_on engine_prefix_cache.hit_rate_derived is reported; branches per decision_rule",
      "paired_cv_pct_max": 8.72,
      "direction_is_known_a_priori": "Same as S46: APC can only help on a trace with reuse. This run's claim is the hit rate, not the knee; the knee is reported as a consistency check against S46's 1.3048x only."
    },
    "does_not_prove": [
      "n=1. The knee ratio from this run is a consistency check against S46, not evidence.",
      "A downscaled trace (block_tokens 64 vs declared 512). The hit rate is on the downscaled block stream, which is the one the oracle modelled and S46 measured -- a like-for-like.",
      "The engine counts hits in its own 16-token blocks; the oracle counts 64-token trace blocks. A hit rate here is comparable to the model only up to that granularity, and the analysis must say by how much.",
      "One model, one GPU class, one trace. Whether the finding generalises is Track P's P2."
    ]
  },
  "git_rev": "d861948",
  "seal_convention": "verifycore.canonical_seal_bytes (frozen)",
  "rule": "The experiment runner verifies this hash before spending anything. A changed threshold aborts the run rather than quietly redefining success."
}