{
  "schema_version": 1,
  "status": "research-only static figures",
  "generated_by": "render_figures.py",
  "figures": [
    {
      "id": "observation",
      "title": "What remains possible after each kind of view?",
      "alt": "A four-column matrix shows both toy objects surviving a sum view, one surviving a difference view with known wiring, two surviving when wiring may be swapped, and one surviving after a known-reference calibration.",
      "png": "figures/01-observation-candidates.png",
      "svg": "figures/01-observation-candidates.svg",
      "pdf": "figures/01-observation-candidates.pdf",
      "source": "research/observation-horizon/results.json",
      "assumptions": [
        "Only two static candidate objects: (1,0) and (0,1)",
        "Known engineered view schedule: sum at even epochs, difference at odd epochs",
        "No noise; propagation delay is known and recorded separately",
        "Unknown wiring, when allowed, is one fixed left/right swap",
        "Calibration assumes a known reference and unchanged wiring",
        "Inference uses record values and source epochs, never the hidden true state"
      ]
    },
    {
      "id": "delay",
      "title": "Delay changes availability, not the content of a view",
      "alt": "A timeline shows sum and difference observations originating one epoch apart and arriving ten epochs later. The sum arrives while two objects remain possible; the different measurement arrives next and leaves one modeled object.",
      "png": "figures/02-source-receipt-delay.png",
      "svg": "figures/02-source-receipt-delay.svg",
      "pdf": "figures/02-source-receipt-delay.pdf",
      "source": "research/observation-horizon/results.json",
      "assumptions": [
        "Known constant delay of 10 dimensionless epochs",
        "The two source measurements have different operators",
        "No noise and known wiring"
      ]
    },
    {
      "id": "performative",
      "title": "A fixed response mechanism under a naive threshold controller",
      "alt": "Three time-series panels show a stored rate alternating between eighty and twenty percent, prevention switching on and off, and the deployed defect probability alternating although the two action-specific risks stay fixed. A separate cost panel compares four policies at prevention costs zero, point two, point six, and point eight.",
      "png": "figures/03-performative-threshold.png",
      "svg": "figures/03-performative-threshold.svg",
      "pdf": "figures/03-performative-threshold.pdf",
      "source": "research/visual-inquiry/data/performative.json",
      "assumptions": [
        "Independent factory batches with exact population rates; no sampling noise",
        "Two actions: 0 is no prevention and 1 is prevention",
        "Fixed response p(a) = baseline - effect * action with no carryover",
        "Boundary decisions and trajectories use exact decimal-rational arithmetic",
        "q is the last observed on-policy rate, not untreated risk",
        "The naive threshold controller ignores preventive cost",
        "The oracle comparison knows both action-specific risks and is not a learning benchmark"
      ]
    },
    {
      "id": "adaptive",
      "title": "Selection on reused data changes null-model results",
      "alt": "Two exact finite-binomial plots use full zero-to-one axes. False acceptance on reused data rises from three percent with one null candidate to nearly one hundred percent with two hundred. Bonferroni varies nonmonotonically from 2.2 to 4.1 percent. Testing the selected candidate once on independent fresh data after every search gives the attained discrete rate of 3.0 percent for every candidate count. Expected selected reused accuracy rises to sixty-seven percent while fresh expected accuracy remains fifty percent.",
      "png": "figures/04-adaptive-reuse.png",
      "svg": "figures/04-adaptive-reuse.svg",
      "pdf": "figures/04-adaptive-reuse.pdf",
      "source": "research/visual-inquiry/data/adaptive.json",
      "assumptions": [
        "Every candidate is null: its true accuracy is p0.",
        "Candidate reused-evaluation counts X_i are mutually independent Binomial(n, p0) variables.",
        "Fresh counts Y_i are mutually independent Binomial(n, p0) variables and independent of every reused count X_i.",
        "The candidate index is selected only from the reused counts, never from fresh results.",
        "This is a finite model-selection special case, not a model of general sequential adaptivity.",
        "This calculation does not train an AI system, run a human experiment, or reimplement the private reusable-holdout mechanism.",
        "The guarantees shown rely on valid exact p-values and the stated independence; they are not asserted for dependent candidates or misspecified nulls."
      ]
    }
  ]
}
