{
  "version": "holdout-v1",
  "status": "preregistered",
  "registeredAt": "2026-09-01T10:14:11+08:00",
  "evaluationRole": "Untouched holdout. No qrels or relevance counts were read before this policy and corpus lock.",
  "selectionRule": "At the pinned CLEF TAR commit, choose the lexicographically first Intervention testing topic not used by screening benchmark v0. Selection used topic filenames and topic record counts only; qrels were not read.",
  "corpus": {
    "topicId": "CD000996",
    "task": "Intervention",
    "title": "Inhaled corticosteroids for bronchiectasis",
    "expectedRecords": 281,
    "sourceRepository": "https://github.com/CLEF-TAR/tar",
    "sourceCommit": "dbc13d02bb3e2f8ebc90e62ff47f5eb591e5ca20",
    "topicSourceUrl": "https://raw.githubusercontent.com/CLEF-TAR/tar/dbc13d02bb3e2f8ebc90e62ff47f5eb591e5ca20/2019-TAR/Task2/Testing/Intervention/topics/CD000996",
    "qrelsSourceUrl": "https://raw.githubusercontent.com/CLEF-TAR/tar/dbc13d02bb3e2f8ebc90e62ff47f5eb591e5ca20/2019-TAR/Task2/Testing/Intervention/qrels/full.test.intervention.abs.2019.qrels",
    "topicSha256": "4af769c2436efe8f42e483fe9a0beaeeb2eac2e22c40ebfd26d6d33e7960da77",
    "pmidListSha256": "7eb801189cd14876abe155cb4f4be4a45e29707872369d3246eb5c2504a1123d"
  },
  "policy": {
    "recommendationVersion": "title-abstract-v3",
    "model": "deepseek-v4-flash",
    "temperature": 0.1,
    "batchSize": 5,
    "maxAttempts": 3,
    "adaptiveSplitOnSchemaFailure": true,
    "minimumBatchSize": 1,
    "decisionMapping": "EXCLUDE stays EXCLUDE. UNSURE or low confidence maps to UNSURE. Remaining recommendations map to INCLUDE.",
    "sourceCommit": "f8cd83cbd7f36c3dd315b9a0f27564c9db7f91a2",
    "sourceHashes": {
      "screeningRationale": "3252347de92262c535e6f302265deed26f8ce4a2b4243c59f0dc489b5290c9c0",
      "screeningRecommendation": "57bd7bb0d81e13d3121c093fe9cbd03cd77db7e7c56c56c202724644dd8c5e30",
      "benchmarkMetrics": "d376d85ad998e7b97a7bf13d2b6745b65de5776a51c5601774771930e4407009"
    }
  },
  "protocol": {
    "templateType": "clinical-default",
    "version": 1,
    "structuredCriteria": {
      "studyTypes": ["rct"],
      "population": "Children or adults with clinical or radiographic evidence of stable bronchiectasis, without cystic fibrosis.",
      "interventionOrExposure": "Regular inhaled corticosteroid treatment.",
      "comparison": "Placebo or no medication.",
      "outcomes": "",
      "yearRange": "all",
      "enabled": {
        "studyTypes": true,
        "population": true,
        "interventionOrExposure": true,
        "comparison": true,
        "outcomes": false,
        "yearRange": false
      }
    },
    "inclusionCriteriaText": "",
    "exclusionCriteriaText": "Studies enrolling people with cystic fibrosis.",
    "customCriteria": []
  },
  "metrics": {
    "safety": "Protected recall = gold-relevant records not auto-excluded / all gold-relevant records. False exclusion count and rate are reported explicitly.",
    "workload": "Manual review rate = UNSURE records / all records. Count and rate are reported explicitly.",
    "descriptive": ["decision counts", "auto-exclusion rate"]
  },
  "gates": {
    "protectedRecall": { "operator": ">=", "threshold": 0.95 },
    "manualReviewRate": { "operator": "<=", "threshold": 0.8 },
    "passRule": "Both gates must pass. No composite accuracy score is used."
  },
  "unblindingRule": "Generate and hash decisions for all 281 records before fetching qrels. Record the blinded-prediction hash and unblinding timestamp, then score once.",
  "reuseRule": "If either gate fails, publish the failure. Do not tune on this corpus and present a rerun as untouched holdout evidence.",
  "legacyCorpusPolicy": "The prior 277-record corpus is a post-error-analysis regression archive and is no longer used for performance promotion."
}
