{
  "schemaVersion": 1,
  "analysis": {
    "id": "robustness",
    "title": "Post-hoc sensitivity audit (October 24, 2026)",
    "group": "sensitivity"
  },
  "generatedAt": "2026-10-25T04:59:26.350Z",
  "generatedBy": "BioLab Analysis Tools (www.stackfire.com)",
  "dates": {
    "archivedRecordedOn": null,
    "snapshotDataAsOf": null,
    "executions": [
      {
        "id": "validation-summary-20261024",
        "origin": "repository",
        "executedAt": "2026-10-24T20:40:07.075926+00:00",
        "recordedAt": null,
        "executionTimeSource": null,
        "timingNote": null
      }
    ],
    "note": "generatedAt is the moment this manifest was written; it is not an execution or publication date. recordedAt is packaging time; a null executedAt means the actual execution time is unknown."
  },
  "repository": {
    "sha": "a434af99342f57aa9fde958535c173b82c315c2a",
    "short": "a434af9",
    "repository": "https://github.com/ivillafuerte/mva-hackathon-2026",
    "treeUrl": "https://github.com/ivillafuerte/mva-hackathon-2026/tree/a434af99342f57aa9fde958535c173b82c315c2a"
  },
  "sources": [],
  "model": "Same models as the two reanalyses it audits.",
  "samples": "PTC: 12 measured rows / 8 contexts (exhaustive deletions). GSE65145: 2 samples per condition, 3 redundant features.",
  "parameters": [
    "Protocol frozen before the calculations, after the original results were known; amendment 01 recorded before execution",
    "Exhaustive finite-set deletions; no random seed, bootstrap, p-value or interval"
  ],
  "inputs": [],
  "script": {
    "path": "track2/reproduction/robustness/run_sensitivity.py",
    "sha256": "c12e186cb037a55324020e25dc222adea634d34d7c0502e1741502e585f1d104",
    "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/run_sensitivity.py"
  },
  "command": "python track2/reproduction/robustness/run_sensitivity.py; python track2/reproduction/robustness/test_sensitivity.py",
  "archived": null,
  "executions": [
    {
      "id": "validation-summary-20261024",
      "origin": "repository",
      "executedAt": "2026-10-24T20:40:07.075926+00:00",
      "recordedAt": null,
      "executionTimeSource": null,
      "timingNote": null,
      "environment": {
        "python": "3.12.14",
        "dependencies": {},
        "isolated": false,
        "pinned": true
      },
      "inputs": {
        "method": "Previously downloaded public cache inputs, each verified against unchanged original manifest; not a fresh network download.",
        "verified": 14,
        "expected": 14
      },
      "artifacts": [
        {
          "analysis": "robustness",
          "artifact": "robustness/results/sensitivity_results.json",
          "sha256": "4062d0d4d50a2d0e6ef43904727e7f50487ae10de9dd16affc00c1ca2129c2e1",
          "expectedSha256": "4062d0d4d50a2d0e6ef43904727e7f50487ae10de9dd16affc00c1ca2129c2e1",
          "matches": true,
          "normalisation": null
        }
      ],
      "note": "11 tests passed, 0 failed; a second run into a separate directory was byte-identical (9 files)."
    }
  ],
  "values": [
    {
      "key": "rows",
      "label": "PTC measured rows / distinct contexts",
      "value": "12 / 8",
      "unit": "rows / contexts",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "exact",
      "label": "Exact six-base matches",
      "value": "0",
      "unit": "rows",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "pairedMedian",
      "label": "Median paired increment, full set",
      "value": "+0.0165",
      "unit": "percentage points",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "rowRange",
      "label": "Leave-one-row-out range",
      "value": "+0.0140 to +0.0190",
      "unit": "percentage points (finite range, not an interval)",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "groupRange",
      "label": "Leave-one-context-group-out range",
      "value": "+0.0135 to +0.0285",
      "unit": "percentage points (finite range, not an interval)",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "marginal",
      "label": "Difference of marginal medians",
      "value": "+0.0240",
      "unit": "percentage points (a different quantity)",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "thresholds",
      "label": "GSE65145 thresholds selecting the same features",
      "value": "95%, 97.5%, 99%, 99.5%",
      "unit": "reciprocal overlap",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "empty",
      "label": "GSE65145 thresholds with no eligible feature",
      "value": "100%",
      "unit": "reciprocal overlap (insufficient, not zero expression)",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "rapPro",
      "label": "GSE65145 Rap / Pro, arithmetic versus geometric",
      "value": "0.585706 versus 0.584998",
      "unit": "ratio",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    },
    {
      "key": "sampleRange",
      "label": "GSE65145 leave-one-sample-out range",
      "value": "0.542241 to 0.629171",
      "unit": "ratio (finite range)",
      "source": {
        "label": "sensitivity_results.json (research repository)",
        "fileId": "sensitivity-results"
      }
    }
  ],
  "crossChecks": [],
  "files": [
    {
      "id": "robustness-script",
      "path": "track2/reproduction/robustness/run_sensitivity.py",
      "sha256": "c12e186cb037a55324020e25dc222adea634d34d7c0502e1741502e585f1d104",
      "bytes": 25286,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/run_sensitivity.py",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/robustness-script"
    },
    {
      "id": "robustness-protocol",
      "path": "track2/reproduction/robustness/protocol.json",
      "sha256": "7f22f7a108501bd0cccbd24e2a0fe76d6feec75ba118cdc1bbf9d17824fc1b78",
      "bytes": 4709,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/protocol.json",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/robustness-protocol"
    },
    {
      "id": "robustness-amendment",
      "path": "track2/reproduction/robustness/protocol_amendment_01.json",
      "sha256": "88e965e5e0e98517e7dbb8149a1b94dd171d25da84070f8f45e06cc78fbb9d01",
      "bytes": 1370,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/protocol_amendment_01.json",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/robustness-amendment"
    },
    {
      "id": "robustness-tests",
      "path": "track2/reproduction/robustness/test_sensitivity.py",
      "sha256": "85a18170b3d1542372d657a8f58e1949455cfbce16f31d9c1ba54cdb0532c6bf",
      "bytes": 7859,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/test_sensitivity.py",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/robustness-tests"
    },
    {
      "id": "robustness-artifact-hashes",
      "path": "track2/reproduction/robustness/results/artifact_hashes.json",
      "sha256": "3109998c6dd2d1d40fee6801b1370062d869f6e9af9e9e36d873ee61b958ce8f",
      "bytes": 823,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/artifact_hashes.json",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/robustness-artifact-hashes"
    },
    {
      "id": "sensitivity-results",
      "path": "track2/reproduction/robustness/results/sensitivity_results.json",
      "sha256": "4062d0d4d50a2d0e6ef43904727e7f50487ae10de9dd16affc00c1ca2129c2e1",
      "bytes": 82363,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/bc392243b5d96b7d52b66b53513f5bcb86027cfa/track2/reproduction/robustness/results/sensitivity_results.json",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/sensitivity-results"
    },
    {
      "id": "ptc-nearest-rows",
      "path": "track2/reproduction/robustness/results/ptc_nearest_measured_rows.csv",
      "sha256": "1407778fc084d5aac4d8f7c191e588d4e6db00632347a07df66fd7f32e6b5f95",
      "bytes": 865,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/ptc_nearest_measured_rows.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/ptc-nearest-rows"
    },
    {
      "id": "ptc-leave-row-out",
      "path": "track2/reproduction/robustness/results/ptc_leave_one_variant_row_out.csv",
      "sha256": "f89938c005ad2a1ab4befea644f5c0d78738ff5cf64ddf525e396ffb44f89846",
      "bytes": 1514,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/ptc_leave_one_variant_row_out.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/ptc-leave-row-out"
    },
    {
      "id": "ptc-leave-group-out",
      "path": "track2/reproduction/robustness/results/ptc_leave_one_context_group_out.csv",
      "sha256": "83370e86e2937158715a4bf8b0cdd9397b6cc888da34ce3bbef49ace1757fdba",
      "bytes": 1079,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/ptc_leave_one_context_group_out.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/ptc-leave-group-out"
    },
    {
      "id": "gse-thresholds",
      "path": "track2/reproduction/robustness/results/gse_feature_thresholds.csv",
      "sha256": "b434287d35b29a22fce951d398fb8a5d8a1b85dc3d175e9aa8e524de9bfcc2bb",
      "bytes": 1675,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/gse_feature_thresholds.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/gse-thresholds"
    },
    {
      "id": "gse-estimators",
      "path": "track2/reproduction/robustness/results/gse_feature_estimators.csv",
      "sha256": "734101642d5737e38104d7252ba822836c26d931ea1e666c7b78e800d3b573e6",
      "bytes": 1775,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/gse_feature_estimators.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/gse-estimators"
    },
    {
      "id": "gse-leave-sample-out",
      "path": "track2/reproduction/robustness/results/gse_leave_one_sample_out.csv",
      "sha256": "c1d00bd0937714134bd38d9451e187a3addb7fa83df8f39a7a50d5c1044b51e5",
      "bytes": 6221,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/gse_leave_one_sample_out.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/gse-leave-sample-out"
    },
    {
      "id": "gse-locus-audit",
      "path": "track2/reproduction/robustness/results/gse_locus_overlap_audit.csv",
      "sha256": "5ec88abe8f47ac02a5af6ba3fbbed6dd0f50aacf734eb330f8051394fe43ccba",
      "bytes": 1638,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/results/gse_locus_overlap_audit.csv",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/gse-locus-audit"
    },
    {
      "id": "sensitivity-test-log",
      "path": "track2/reproduction/robustness/verification/test_sensitivity.log",
      "sha256": "b74bb793d67d23d6b45dc8b2112ee2d45f631a32590b4781412eb52ffbfc7ce7",
      "bytes": 1385,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/verification/test_sensitivity.log",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/sensitivity-test-log"
    },
    {
      "id": "validation-summary-20261024",
      "path": "track2/reproduction/robustness/verification/validation_summary.json",
      "sha256": "26bee1e1ebb9e3c9c09e193e89b46b75af8a2af4b45a15015fc724da65da6aee",
      "bytes": 3438,
      "url": "https://github.com/ivillafuerte/mva-hackathon-2026/blob/a434af99342f57aa9fde958535c173b82c315c2a/track2/reproduction/robustness/verification/validation_summary.json",
      "href": "http://www.stackfire.com/api/biolab/analysis/files/validation-summary-20261024"
    }
  ],
  "limitations": [],
  "whatItIsNot": "Post-hoc and exploratory. Diagnostic ranges are not confidence intervals; nothing here increases n or establishes biological validation."
}
