{
  "schema": "T_GPT_PROTOCOL_V0_8_7",
  "date": "2026-09-13",
  "status": "P0_SAFETY_REPAIRED / EXTERNAL_REAUDIT_REQUIRED / P0_EXECUTION_BLOCKED / CONFIRMATORY_CLOSED",
  "supersedes_for_current_design": "protocol-v0.8.6.json",
  "preserves_history": true,
  "research_position": "engineering-only P0 safety repair after external re-audit #5; theory expansion remains frozen.",
  "metric_spec": "/T-GPT/data/metrics-v0.8.7.json",
  "meoi_spec": "/T-GPT/data/minimum-effects-v0.8.6.json",
  "confirmatory_gate": {"status":"CLOSED","reason":"P0/P1 have not run; external re-audit of v0.8.7 pending; no confirmatory total-semantic procedure is frozen."},
  "p0": {
    "method_status":"REPAIRED_LOCAL_PREFLIGHT_PASS_EXTERNAL_REAUDIT_PENDING",
    "execution_status":"BLOCKED_PENDING_EXTERNAL_REAUDIT_AND_PREREQUISITES",
    "purpose":"qualify tasks, estimate mapping/UNMAPPED structure by condition and cluster-affinity diagnostics, calibrate engineering guardrails and attrition; never estimate confirmatory effects",
    "required_instrumentation":["OUTPUT_ASSIGNMENT","UNMAPPED_AFFINITY for every final UNMAPPED output","CLUSTER_RELEVANCE","agreement","condition masking","mapping rates by condition","SHA-bound frozen codebook with relevance embedded","frozen_codebook_hashes_sha256 batch binding"],
    "unmapped_affinity_rule":"diagnostic only; cannot change OUTPUT_ASSIGNMENT",
    "reporting":"no scientific effect claims from P0; report mapping rates, missingness shape, agreement, task qualification and gate attrition",
    "threshold_status":"0.80/0.05 mapping and 0.25 FPR thresholds are provisional engineering defaults and must be sensitivity-reported"
  },
  "codebook_development": {"all_compared_conditions_required":true,"E1_BASE_required":true,"eligibility_evaluated_on_least_mappable_condition":true,"development_outputs_excluded_from_confirmation":true},
  "experiments": [
    {"id":"E1_STAGE","planning_endpoint":"SEMANTIC_DEFICIT_EXCESS_CONDITIONAL","latent_total_claim":"CLOSED","mandatory":"mapping shift + partial-identification bounds + threshold sensitivity"},
    {"id":"E2_RECOVERY","planning_endpoint":"RECOVERY_LIFT_CONDITIONAL","complete_case_sensitivity":"only if mapping gate passes"},
    {"id":"E3_TOPOLOGY","planning_endpoint":"AGG_COVERAGE_ADJUSTED_PRIMARY_NEAR_FPR","distractors":"24 minimum, 8/8/8 NEAR/MID/FAR","token_floor":0.8},
    {"id":"E4_R_META","status":"DEFERRED"}
  ],
  "analysis": {
    "fixed_strata":["F1_POLYSEMY_UNDERSPECIFICATION","F2_CAUSAL_ALTERNATIVES","F3_DESIGN_UNDER_CONSTRAINTS","F4_STRUCTURAL_INTERPRETATION","F5_MULTI_SOLUTION_REASONING"],
    "across_tasks":"stratified bootstrap within family, equal-weight family means",
    "attrition_global_no_go":">40% measurement-insufficient registered cells",
    "minimum_valid_tasks":30,
    "excluded_vs_retained_comparison_required":true,
    "attrition_family_no_go":">40% measurement-insufficient OR <6 valid tasks in any one fixed family",
    "minimum_valid_tasks_per_family":6,
    "total_semantic_identification":"empirical sharp interval + conservative finite-sample outer region; P0 zero-exclusion decision forbidden",
    "relevance_source":"SHA-bound frozen codebook only"
  },
  "planning": {"MEOI":"fixed and hashed before P0; cannot be caller-overridden","n_per_task_minimum":32,"planning_confirmation_n_must_match":true,"P0_attrition_model":"family-specific Wilson lower bounds plus hard observed family attrition gate >40% => REDESIGN_NO_GO","valid_task_cap":60,"registered_task_cap":100},
  "theory_expansion":"FROZEN",
  "next_step":"External re-audit v0.8.7. Only if passed may P0 execution start; confirmation remains closed regardless of P0 outcome."
}
