{
  "kind": "slicerddsurfer_public_performance_evidence",
  "version": 4,
  "reviewed_on": "2026-10-30",
  "sources": [
    {
      "file": "freewater_protocol_full_20261029.json",
      "sha256": "e579f58c6bec9e7b22c2c6912d61515134621058b2cfaee5e81a54585a9a98fa"
    },
    {
      "file": "complete_models_20261020.json",
      "sha256": "347ace4803bb070ad48e5c9a1b51702ce82d7e0cb37f8849d29940f9f51f6c98"
    },
    {
      "file": "mkcurve_qr_scipy1181_20261022.json",
      "sha256": "e4b11207509cd39278ce3d12d9c4336d1912584cb6a3d5dac4ffeeccfbef6bab"
    },
    {
      "file": "performance_next_20261029.json",
      "sha256": "634b458fe75d2a087705c65b530a2b29ca73a781a63b3c47b1372cad8689205e"
    },
    {
      "file": "dki_latest_stable_integration_20261022.json",
      "sha256": "d906ebffdc9d5136969403a1be1925233b40fecd3f679f7ba896a6db3cdb5847"
    },
    {
      "file": "author_wma_optimizations_20261020.json",
      "sha256": "edef21040341eda6e614d73f9c5e972cdcf4cfb35d169c0de2efb59a642b8e34"
    },
    {
      "file": "freewater_dispatch_slicer_20261021.json",
      "sha256": "c5c3597f662cb3cd71877058e7d384379d2558575aabe3bdb46a1ae1a3eaab12"
    },
    {
      "file": "wma_transform_20261021.json",
      "sha256": "1436dfcf82ed8dbe36886719ad89bd38103a453955ec1466adc27605343bba35"
    },
    {
      "file": "wma_fibers_bounded_20261021.json",
      "sha256": "7e09c9d6ae6be3442abb6c472a4cbbf77db05ab6f93335e1501064890aae9529"
    },
    {
      "file": "performance_optimizations_20261020.json",
      "sha256": "8b0c16688e6ce00c3c3527060be6d950a8a6cef9083c9340f256fe2c31f35a39"
    },
    {
      "file": "upstream_freshness_verified_20261022.json",
      "sha256": "b96025854ddd3ae724e2b10d42b63819708d40144aee39f2504344b96a477cb4"
    },
    {
      "file": "freewater_protocol_upstream_20261029.json",
      "sha256": "0a41483d1c0d56a8816b0a1dd685ee3e72d747ada2c7ecc3f0fb352e04cdeedc"
    }
  ],
  "records": [
    {
      "id": "freewater",
      "title": "Free-water WLS",
      "category": "implementation",
      "scope": "Full brain",
      "evidence_date": "2026-10-29",
      "reference_seconds": 938.5844462327659,
      "optimized_seconds": 713.3948655631393,
      "speed_ratio": 1.3156590992449413,
      "seconds_saved": 225.1895806696266,
      "reduction_percent": 23.99246882616466,
      "method": "Reuse protocol-only attenuation/spectrum/grid arrays in a bounded private cache, alongside diagonal-free weights and source-qualified tensor helpers.",
      "baseline": "Original installed DIPY WLS, not an earlier plugin. One numerical thread in both paths.",
      "unchanged": "All 13 raw fit parameters, four maps/masks, affines, dtypes and automatic QC match. The same 116935 voxels remain excluded.",
      "limitation": "One subject, one pair on a shared Linux host; optimized first. OS caches were not flushed. Both calls include raw-parameter evidence export.",
      "sample": "740916 mask voxels; 288 measurements; automatic QC passes, anatomical review pending.",
      "upstream_reference": "Measured DIPY 1.12.1; latest stable on 29 October. The stable/head fitting definitions match qualified hashes; bounded protocol reuse is included in this full-brain pair.",
      "measurement_source": {
        "file": "freewater_protocol_full_20261029.json",
        "sha256": "e579f58c6bec9e7b22c2c6912d61515134621058b2cfaee5e81a54585a9a98fa"
      }
    },
    {
      "id": "wma",
      "title": "WMA registration & classification",
      "category": "implementation",
      "scope": "Complete module",
      "evidence_date": "2026-10-20",
      "reference_seconds": 6126.164444088936,
      "optimized_seconds": 4452.999639907852,
      "speed_ratio": 1.3757388141661084,
      "seconds_saved": 1673.164804181084,
      "reduction_percent": 27.311784060832732,
      "method": "Bulk geometry copying and verified registration-input reuse reduce repeated Python/VTK traversal and preparation.",
      "baseline": "Original-author processing versus equivalent bulk/cache implementation, with identical UKF input and atlas.",
      "unchanged": "All 74 anatomical-tract output files are byte-identical; source inputs and author code are unchanged.",
      "limitation": "One full-module pair on a shared Linux host. Matching files do not certify small-bundle sampling or anatomical validity. Later transform optimizations are not measured by this pair.",
      "sample": "Full registration and 74-tract output; no streamline downsampling introduced for timing.",
      "upstream_reference": "Author commit 4532b911386d: matches current HEAD and measured source bytes.",
      "measurement_source": {
        "file": "complete_models_20261020.json",
        "sha256": "347ace4803bb070ad48e5c9a1b51702ce82d7e0cb37f8849d29940f9f51f6c98"
      }
    },
    {
      "id": "noddi",
      "title": "NODDI / AMICO",
      "category": "parallel",
      "scope": "Full brain",
      "evidence_date": "2026-10-20",
      "reference_seconds": 1748.934918699786,
      "optimized_seconds": 311.5250518564135,
      "speed_ratio": 5.614106821514618,
      "seconds_saved": 1437.4098668433726,
      "reduction_percent": 82.18772759777642,
      "method": "Use AMICO's existing native multithreading: one thread versus eight.",
      "baseline": "The same author implementation and model settings. This is a thread-configuration comparison, not a new algorithm.",
      "unchanged": "NDI, ODI, IsoVF, RMSE, NRMSE and the tissue-validity mask match voxelwise, including affines.",
      "limitation": "One shared-host pair. Hardware-specific multithreading benefit; not a universal speed or whole-workflow guarantee.",
      "sample": "Original 740916-voxel brain mask; fresh output directories.",
      "upstream_reference": "AMICO 2.1.1 verified in both timed configurations; latest stable at review. Threads are already upstream functionality.",
      "measurement_source": {
        "file": "complete_models_20261020.json",
        "sha256": "347ace4803bb070ad48e5c9a1b51702ce82d7e0cb37f8849d29940f9f51f6c98"
      }
    },
    {
      "id": "mkcurve",
      "title": "MK-Curve QR / Python port",
      "category": "port",
      "scope": "64-voxel numeric chunk",
      "evidence_date": "2026-10-22",
      "reference_seconds": 1.7286031488329172,
      "optimized_seconds": 1.0942252911627293,
      "speed_ratio": 1.579750680955377,
      "seconds_saved": 0.634377857670188,
      "reduction_percent": 36.698872040033834,
      "method": "Reuse protocol/design checks and LAPACK workspace sizes while keeping the same pivoted QR and full b0 grid.",
      "baseline": "Current SciPy 1.18.1 public gelsy solver versus qualified direct-driver/cache use in the same Python port. NOT original MATLAB versus Python.",
      "unchanged": "Raw coefficients, full curves, every map and validity decision match in all three subjects; both reference and batched solvers checked.",
      "limitation": "Table shows subject 100206 default-QR medians, three alternating repeats after warmup. Numeric chunks exclude input preparation and file export; not whole ROI or full brain. SciPy already supplies native batching.",
      "sample": "Three real 64-voxel chunks; 181 measurements; complete 200-201 point b0 grids; one numerical thread.",
      "solver_results": [
        {
          "subject": "100206",
          "solver": "reference",
          "reference_seconds": 1.7286031488329172,
          "optimized_seconds": 1.0942252911627293,
          "speed_ratio": 1.579750680955377
        },
        {
          "subject": "100206",
          "solver": "batched",
          "reference_seconds": 1.2144449763000011,
          "optimized_seconds": 1.1723844073712826,
          "speed_ratio": 1.0358760903542095
        },
        {
          "subject": "149741",
          "solver": "reference",
          "reference_seconds": 1.7260190229862928,
          "optimized_seconds": 1.1565999872982502,
          "speed_ratio": 1.4923214957127677
        },
        {
          "subject": "149741",
          "solver": "batched",
          "reference_seconds": 1.211475282907486,
          "optimized_seconds": 1.1419922858476639,
          "speed_ratio": 1.0608436658643863
        },
        {
          "subject": "877168",
          "solver": "reference",
          "reference_seconds": 1.8337209187448025,
          "optimized_seconds": 1.0899391807615757,
          "speed_ratio": 1.6824066435188818
        },
        {
          "subject": "877168",
          "solver": "batched",
          "reference_seconds": 1.2162496391683817,
          "optimized_seconds": 1.1388405803591013,
          "speed_ratio": 1.067971812863282
        }
      ],
      "upstream_reference": "Current MATLAB reference 9a213e1a5850; measured on current stable SciPy 1.18.1. This port-only comparison does not claim to outperform MATLAB or invent upstream native batching.",
      "measurement_source": {
        "file": "mkcurve_qr_scipy1181_20261022.json",
        "sha256": "e4b11207509cd39278ce3d12d9c4336d1912584cb6a3d5dac4ffeeccfbef6bab"
      }
    },
    {
      "id": "mkcurve-signal",
      "title": "MK-Curve signal reuse",
      "category": "port",
      "scope": "64-voxel numeric chunk / incremental QR change",
      "evidence_date": "2026-10-29",
      "reference_seconds": 1.1927573941648006,
      "optimized_seconds": 1.0585052892565727,
      "speed_ratio": 1.1268317752124961,
      "seconds_saved": 0.13425210490822792,
      "reduction_percent": 11.255608689999752,
      "method": "Within each chunk, reuse non-b0 signals and their logarithms across the full synthetic-b0 scan; update only the candidate b0 column.",
      "baseline": "The preceding qualified-QR Python implementation versus added signal reuse; solver, grid, correction rules and one numerical thread stay fixed.",
      "unchanged": "Original/corrected coefficients, complete curves, parameter maps, residuals and validity masks match exactly in all three acquisitions and both solvers.",
      "limitation": "Displayed medians use acquisition 1, selected consistently with the earlier QR record. Three alternating repeats after one warmup. Batched-path changes range from -1.50% to +3.07%, so signal reuse remains enabled only for the reference solver. These incremental timings overlap the earlier QR implementation and are not additive.",
      "sample": "Three acquisitions, 64 voxels each, 181 measurements and 200-201 synthetic-b0 samples. Reference-QR time falls 10.24-11.26%. Numeric computation only; input preparation and file export excluded.",
      "solver_results": [
        {
          "subject": "100206",
          "solver": "reference",
          "reference_seconds": 1.1927573941648006,
          "optimized_seconds": 1.0585052892565727,
          "speed_ratio": 1.1268317752124961,
          "reduction_percent": 11.255608689999752,
          "times_seconds": {
            "reference": [
              1.1927573941648006,
              1.2019269801676273,
              1.1919206473976374
            ],
            "optimized": [
              1.0207987371832132,
              1.0585052892565727,
              1.070963742211461
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        },
        {
          "subject": "100206",
          "solver": "batched",
          "reference_seconds": 1.2688054032623768,
          "optimized_seconds": 1.2298601604998112,
          "speed_ratio": 1.031666399167478,
          "reduction_percent": 3.0694417490994996,
          "times_seconds": {
            "reference": [
              1.2688054032623768,
              1.271308571100235,
              1.235209895297885
            ],
            "optimized": [
              1.2298601604998112,
              1.2604374289512634,
              1.2253218963742256
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        },
        {
          "subject": "149741",
          "solver": "reference",
          "reference_seconds": 1.1262251231819391,
          "optimized_seconds": 0.9996459484100342,
          "speed_ratio": 1.126624006202629,
          "reduction_percent": 11.239242684826555,
          "times_seconds": {
            "reference": [
              1.1262251231819391,
              1.1196276098489761,
              1.17492313683033
            ],
            "optimized": [
              0.9996459484100342,
              1.0016715954989195,
              0.9965290371328592
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        },
        {
          "subject": "149741",
          "solver": "batched",
          "reference_seconds": 1.2162422314286232,
          "optimized_seconds": 1.2170489244163036,
          "speed_ratio": 0.9993371729176234,
          "reduction_percent": -0.066326671351713,
          "times_seconds": {
            "reference": [
              1.2206490524113178,
              1.214735932648182,
              1.2162422314286232
            ],
            "optimized": [
              1.2349246833473444,
              1.2074226699769497,
              1.2170489244163036
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        },
        {
          "subject": "877168",
          "solver": "reference",
          "reference_seconds": 1.1016755998134613,
          "optimized_seconds": 0.9888402372598648,
          "speed_ratio": 1.1141087895717816,
          "reduction_percent": 10.242158632968001,
          "times_seconds": {
            "reference": [
              1.1003651916980743,
              1.1062925271689892,
              1.1016755998134613
            ],
            "optimized": [
              0.9972374346107244,
              0.983831824734807,
              0.9888402372598648
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        },
        {
          "subject": "877168",
          "solver": "batched",
          "reference_seconds": 1.197767648845911,
          "optimized_seconds": 1.2157144881784916,
          "speed_ratio": 0.9852376199287792,
          "reduction_percent": -1.4983573274727213,
          "times_seconds": {
            "reference": [
              1.1941859479993582,
              1.2184639926999807,
              1.197767648845911
            ],
            "optimized": [
              1.2157144881784916,
              1.1968240924179554,
              1.2282808683812618
            ]
          },
          "repeats": 3,
          "warmups_per_method": 1,
          "exact_output_parity": true
        }
      ],
      "upstream_reference": "Recorded 29 October with SciPy 1.18.1; source/input checksums and one-thread settings are preserved. This is an incremental comparison within the Python port, following the qualified QR change.",
      "measurement_source": {
        "file": "performance_next_20261029.json",
        "sha256": "634b458fe75d2a087705c65b530a2b29ca73a781a63b3c47b1372cad8689205e"
      }
    },
    {
      "id": "dki",
      "title": "DKI WLS metrics",
      "category": "integration",
      "scope": "Native 24-cubed ROI",
      "evidence_date": "2026-10-22",
      "reference_seconds": 37.10728321224451,
      "optimized_seconds": 11.469408877193928,
      "speed_ratio": 3.2353265638676114,
      "seconds_saved": 25.637874335050583,
      "reduction_percent": 69.09121906987441,
      "method": "Evaluate the author's existing array-capable kurtosis metrics once per block, avoiding repeated per-voxel result wrappers.",
      "baseline": "Previous plugin per-voxel integration versus existing DIPY array usage. No improvement over the author's native vectorized API is claimed.",
      "unchanged": "All exported voxel arrays and affines match in three subjects, with three alternating repeats each.",
      "limitation": "Table shows subject 100307 medians. This adopts existing native DIPY functionality, not a new upstream algorithm improvement. No completed full-brain DKI pair; do not scale ROI times to whole brain.",
      "sample": "Three subjects; three repeats per path; native-grid ROI, no resampling; DIPY 1.12.1 with SciPy 1.18.1.",
      "subject_results": [
        {
          "subject": "100307",
          "reference_seconds": 37.10728321224451,
          "optimized_seconds": 11.469408877193928,
          "speed_ratio": 3.2353265638676114
        },
        {
          "subject": "100206",
          "reference_seconds": 36.91999897919595,
          "optimized_seconds": 11.489439141005278,
          "speed_ratio": 3.2133856601781527
        },
        {
          "subject": "149741",
          "reference_seconds": 36.88219387456775,
          "optimized_seconds": 11.467844719067216,
          "speed_ratio": 3.2161399790533363
        }
      ],
      "upstream_reference": "DIPY 1.12.1 is current stable at review. Array metrics already exist upstream; this is plugin integration, not an author-algorithm speedup.",
      "measurement_source": {
        "file": "dki_latest_stable_integration_20261022.json",
        "sha256": "d906ebffdc9d5136969403a1be1925233b40fecd3f679f7ba896a6db3cdb5847"
      }
    },
    {
      "id": "scheduling",
      "title": "Independent FW + DKI jobs",
      "category": "workflow",
      "scope": "Native 24-cubed ROI",
      "evidence_date": "2026-10-20",
      "reference_seconds": 43.952803229913116,
      "optimized_seconds": 24.630718195810914,
      "speed_ratio": 1.7844710365525769,
      "seconds_saved": 19.3220850341022,
      "reduction_percent": 43.96098454296563,
      "method": "Overlap independent model subprocesses after their shared inputs are ready; preserve downstream dependencies.",
      "baseline": "The same model computations, serial scheduling versus two concurrent workers.",
      "unchanged": "All exported scalar and mask arrays match. Process startup is included.",
      "limitation": "One ROI pair. This reduces schedule wall time, not the cost of an individual scientific model. Default model concurrency remains one; memory/CPU budgets may prevent overlap.",
      "sample": "Two independent models; CPU/memory-constrained scheduling; not full-brain timing.",
      "upstream_reference": "Historical plugin scheduler comparison, not a latest-upstream algorithm performance claim.",
      "measurement_source": {
        "file": "complete_models_20261020.json",
        "sha256": "347ace4803bb070ad48e5c9a1b51702ce82d7e0cb37f8849d29940f9f51f6c98"
      }
    },
    {
      "id": "wma-filter",
      "title": "WMA atlas length filtering",
      "category": "implementation",
      "scope": "Single substage",
      "evidence_date": "2026-10-20",
      "reference_seconds": 134.28870687261224,
      "optimized_seconds": 2.4840614162385464,
      "speed_ratio": 54.060139574148266,
      "seconds_saved": 131.8046454563737,
      "reduction_percent": 98.1502082534796,
      "method": "Replace per-point Python geometry copying with equivalent bulk coordinate/topology operations.",
      "baseline": "Unmodified author filter on the full 1989106-streamline registration atlas.",
      "unchanged": "Output coordinates/topology and fixed-seed samples match exactly.",
      "limitation": "One full-atlas substage pair, not complete WMA. The large local ratio must not be multiplied by or added to the full WMA result.",
      "sample": "Full registration-atlas length-filter substage only.",
      "upstream_reference": "Same immutable current WMA source audit as the full-module record.",
      "measurement_source": {
        "file": "author_wma_optimizations_20261020.json",
        "sha256": "edef21040341eda6e614d73f9c5e972cdcf4cfb35d169c0de2efb59a642b8e34"
      }
    },
    {
      "id": "freewater-nls",
      "title": "Free-water NLS dispatch",
      "category": "implementation",
      "scope": "1728-voxel ROI",
      "evidence_date": "2026-10-21",
      "reference_seconds": 12.469540137797594,
      "optimized_seconds": 5.174686264246702,
      "speed_ratio": 2.4097190633474725,
      "seconds_saved": 7.294853873550892,
      "reduction_percent": 58.50138652217636,
      "method": "Call source-qualified author NLS, residual and Jacobian bodies directly, removing repeated keyword-compatibility dispatch.",
      "baseline": "Installed original DIPY 1.12.1 serial NLS versus the same function bodies; one numerical thread in both paths.",
      "unchanged": "All 13 raw parameters, exported maps, affine and QC decisions match in all three subjects.",
      "limitation": "Subject 100307 medians, three alternating repeats after warmup. ROI, not full brain. These timings precede later WLS-initialization/helper changes and cannot be added to them.",
      "sample": "Three native 12-cubed ROIs; 288 measurements; complete ROI stage including fresh export.",
      "upstream_reference": "Measured DIPY 1.12.1 in Slicer; author NLS/residual/Jacobian source hashes match the dated stable-source audit.",
      "measurement_source": {
        "file": "freewater_dispatch_slicer_20261021.json",
        "sha256": "c5c3597f662cb3cd71877058e7d384379d2558575aabe3bdb46a1ae1a3eaab12"
      }
    },
    {
      "id": "wma-transform",
      "title": "WMA point transformation",
      "category": "implementation",
      "scope": "1000 fibers x 15 points",
      "evidence_date": "2026-10-21",
      "reference_seconds": 0.024585530161857605,
      "optimized_seconds": 0.00032218173146247864,
      "speed_ratio": 76.30951031970862,
      "seconds_saved": 0.024263348430395126,
      "reduction_percent": 98.6895473502446,
      "method": "Use the same author vtkTransform with a bounded bulk point call, instead of one Python/VTK call per point.",
      "baseline": "Unmodified author point-transform loop versus bulk calls with the same float64 point order and transform.",
      "unchanged": "All transformed points, complete small-optimizer trajectories and final transforms match in three subjects.",
      "limitation": "Subject 100206 median of five point-transform repeats, not full registration. Small-optimizer gains were only about 1.27-1.28x; the point-kernel ratio cannot be applied to whole WMA.",
      "sample": "Three real-subject fixtures; explicit synthetic offset for the separate optimizer check.",
      "upstream_reference": "Author register_two_subjects.py SHA256 matches the 22 October WMA source audit; measured bulk vtkTransform path.",
      "measurement_source": {
        "file": "wma_transform_20261021.json",
        "sha256": "1436dfcf82ed8dbe36886719ad89bd38103a453955ec1466adc27605343bba35"
      }
    },
    {
      "id": "wma-fibers",
      "title": "WMA fiber-array conversion",
      "category": "implementation",
      "scope": "20000 fibers x 15 points",
      "evidence_date": "2026-10-21",
      "reference_seconds": 0.5866658464074135,
      "optimized_seconds": 0.012798488140106201,
      "speed_ratio": 45.83868344332,
      "seconds_saved": 0.5738673582673073,
      "reduction_percent": 97.81843647137791,
      "method": "Gather the same author nearest-neighbor fiber samples from VTK connectivity in bounded NumPy blocks.",
      "baseline": "Unmodified author FiberArray conversion versus equivalent bulk conversion; no interpolation or streamline reduction added.",
      "unchanged": "All arrays, hemisphere flags and separate small-optimizer trajectories/transforms match in three subjects.",
      "limitation": "Subject 100206 median of five conversion repeats. Not whole WMA; small-optimizer gains were only about 1.02-1.05x. Historical source sampling failures remain failed.",
      "sample": "20000 identical sampled fibers per subject; original nearest-neighbor rule and ordering.",
      "upstream_reference": "Author fibers.py at 4532b911386d independently verified; native VTK array sampling, not a new registration algorithm.",
      "measurement_source": {
        "file": "wma_fibers_bounded_20261021.json",
        "sha256": "7e09c9d6ae6be3442abb6c472a4cbbf77db05ab6f93335e1501064890aae9529"
      }
    },
    {
      "id": "wma-cache",
      "title": "WMA registration-input reuse",
      "category": "implementation",
      "scope": "Three preparation calls",
      "evidence_date": "2026-10-20",
      "reference_seconds": 533.7745765317231,
      "optimized_seconds": 180.54995530471206,
      "speed_ratio": 2.9563816597510533,
      "seconds_saved": 353.2246212270111,
      "reduction_percent": 66.17486796057968,
      "method": "Reuse verified deterministic atlas/subject length-filter results across seeds; keep fresh author random sampling.",
      "baseline": "Three original author preparation calls versus first cache fill plus reuse, with the same input and fixed seeds.",
      "unchanged": "Bitwise-equal registration input signatures; source hashes unchanged",
      "limitation": "One subject, one pair; includes initial cache construction. This overlaps WMA filtering and the full-module pair; savings cannot be added.",
      "sample": "Three fixed-seed preparation calls, including first cache fill; not full WMA",
      "upstream_reference": "Preserved same-author preparation pair. Source-qualified reuse, not a fresh latest-version benchmark.",
      "measurement_source": {
        "file": "performance_optimizations_20261020.json",
        "sha256": "8b0c16688e6ce00c3c3527060be6d950a8a6cef9083c9340f256fe2c31f35a39"
      }
    },
    {
      "id": "surface-mapping",
      "title": "DDSurfer surface-map reuse",
      "category": "inherited",
      "scope": "Four left-hemisphere overlays",
      "evidence_date": "2026-10-20",
      "reference_seconds": 13.37943259254098,
      "optimized_seconds": 3.5190587118268013,
      "speed_ratio": 3.80199186435156,
      "seconds_saved": 9.860373880714178,
      "reduction_percent": 73.69799737405401,
      "method": "Pack four overlays into one multi-frame mri_surf2surf call, sharing the same surface registration.",
      "baseline": "Four separate FreeSurfer commands versus one multi-frame command. Inherited from DDSurfer upstream c3b2d40, not plugin-original work.",
      "unchanged": "Four byte-identical MGH outputs; 163842 vertices per overlay; source hashes unchanged",
      "limitation": "One subject, command timing only; extra packing/validation excluded. Not surface reconstruction or a new FreeSurfer algorithm.",
      "sample": "100307 left hemisphere; four separate FreeSurfer commands versus one multi-frame command",
      "upstream_reference": "Optimization inherited from DDSurfer c3b2d40; no plugin-original credit or latest-FreeSurfer speed claim.",
      "measurement_source": {
        "file": "performance_optimizations_20261020.json",
        "sha256": "8b0c16688e6ce00c3c3527060be6d950a8a6cef9083c9340f256fe2c31f35a39"
      }
    },
    {
      "id": "dwi-io",
      "title": "Compressed DWI block reading",
      "category": "io",
      "scope": "Three slabs",
      "evidence_date": "2026-10-20",
      "reference_seconds": 37.25199197977781,
      "optimized_seconds": 17.078589437529445,
      "speed_ratio": 2.181210111996615,
      "seconds_saved": 20.17340254224837,
      "reduction_percent": 54.15388941670414,
      "method": "Decode gzip once to temporary disk, then memory-map the same requested blocks; leave the source file unchanged.",
      "baseline": "Repeated compressed-array reads versus one sequential decode and disk-backed block reads; no indexed_gzip in this measurement.",
      "unchanged": "Exact arrays and affine for all three slabs; unchanged input hash",
      "limitation": "One subject, one pair, uncontrolled OS page cache; needs temporary disk. I/O only, not model fitting; no universal storage-performance guarantee.",
      "sample": "Three real slabs including sequential decode. NOT a model-fit or full pipeline speedup.",
      "upstream_reference": "Generic compression/I/O control, not an improvement to a scientific estimator or an upstream-freshness claim.",
      "measurement_source": {
        "file": "performance_optimizations_20261020.json",
        "sha256": "8b0c16688e6ce00c3c3527060be6d950a8a6cef9083c9340f256fe2c31f35a39"
      }
    }
  ],
  "upstream_review": {
    "checked_at_utc": "2026-10-22T05:08:30.420733+00:00",
    "stable_versions": {
      "dipy": "1.12.1",
      "scipy": "1.18.1",
      "amico": "2.1.1"
    },
    "policy": "Latest release and default-branch source identity are checked separately; source review is not a development-branch benchmark."
  },
  "policy": "Output equivalence is not anatomical or clinical validation. No whole-workflow speedup has been established.",
  "pending": [
    "Repeated multi-subject full-module pairs",
    "Completed full-brain DKI comparison",
    "Full-brain validation for later default-QR MK-Curve changes",
    "Matched CSD/ACT/SIFT2 complete-module baseline",
    "Native Windows/macOS scientific timing",
    "Optional persistent-model worker: proposed, not implemented or benchmarked"
  ]
}
