{
  "study_id": "O0-CRP-014",
  "title": "Removing the direct y_k observation restores the k_hat direction under PP: R3's flip was observation-model-specific, not intrinsic to predictive processing",
  "version": "1.0.0",
  "date": "2026-07-27",
  "record_class": "REPLICATION",
  "program": "O0-CRP-001 Contact and Revelation",
  "branch": "08_REPLICATIONS",
  "follow_up_to": ["O0-CRP-013", "O0-CRP-011"],
  "research_status": "complete",
  "evidence_type": "computational_simulation_ablation",
  "replication_status": "cross_architecture_three_way_head_to_head",
  "physical_validation": "none",
  "biological_validation": "none",
  "exploratory_vs_confirmatory": "preregistered_confirmatory",
  "top_line_verdict": "PRELIMINARY SUPPORT",
  "k_hat_verdict": "k-DIRECTION-RESOLVED (R3 flip resolved; R > D restored under PP-A)",
  "verdict_summary": {
    "k_hat_ANCHOR_d": 8.408,
    "k_hat_p_greater_ANCHOR": 5e-5,
    "n_endpoints_supporting_ANCHOR": 3,
    "n_endpoints_flipped_ANCHOR": 0,
    "n_endpoints_undefined_ANCHOR": 1,
    "undefined_endpoint_reason": "TAI z-score standard deviation is 0 under D because PP-A never updates mu_k under visibility (no direct y_k observation, no opacity-triggered credit assignment under visibility). Not a bug; a feature of PP-A."
  },
  "n_total_trials": 30720,
  "confirmatory_seeds": {"first": 6000, "last": 6029, "note": "fresh, disjoint from Study B [1000..1029], S1 [3000..3029], R3 [5000..5029]"},
  "exploratory_seeds": {"first": 700, "last": 711},
  "study_b_anchor_seeds_used_for_arch_comparison": {"first": 1000, "last": 1029},
  "T": 200,
  "alpha": 0.90,
  "prior_regimes": ["ANCHOR", "FLAT", "SKEPTICAL"],
  "elapsed_seconds": 9.5,
  "cohens_d_by_regime": {
    "ANCHOR":    {"k_hat":  8.408, "h_hat": 22.244, "u_hat":  3.951, "tai": null},
    "FLAT":      {"k_hat": 12.175, "h_hat": 14.081, "u_hat":  6.548, "tai": null},
    "SKEPTICAL": {"k_hat":  4.171, "h_hat":  8.328, "u_hat":  3.875, "tai": null}
  },
  "three_way_head_to_head_at_study_b_seeds": {
    "seeds": {"first": 1000, "last": 1029},
    "regime": "ANCHOR",
    "k_hat": {"bayesian": 4.408, "pp_r3": -31.514, "pp_a_r4":  7.852, "direction_agrees": true, "note": "R3 flip resolved; sign restored to match Bayesian"},
    "h_hat": {"bayesian": 53.574, "pp_r3": 22.283, "pp_a_r4": 21.221, "direction_agrees": true, "note": "PP and PP-A produce nearly identical h_hat effects; direct y_k plays no causal role in h_hat"},
    "u_hat": {"bayesian": 73.853, "pp_r3":  4.024, "pp_a_r4":  4.075, "direction_agrees": true, "note": "same finding as h_hat; direct y_k does not drive u_hat"}
  },
  "one_line_ablation": {
    "description": "Deleted the direct-observation update on mu_k from the R3 PP observer. Everything else (priors, mu_a/mu_h/mu_u updates, credit assignment) preserved verbatim.",
    "removed_code": "y_k = log|content ∪ derivation| ... ; mu_k += (y_k - mu_k) * gain_k",
    "retained_code": "credit-assignment channel on mu_k under opacity + correct residual > 0"
  },
  "philosophical_provenance": {
    "record": "# The O-0 Phenomenon- A Unified Framework.md (local reference)",
    "section": "revelation vs. ordinary learning (via Study B and R3 provenance)",
    "proposition": "Revelation is a distinct cognitive event, not merely accurate testimony.",
    "relationship": "mechanism-localization follow-up to R3's cross-architecture test",
    "disclaimer": "Conceptual provenance is not empirical support. This study establishes that R3's k_hat direction flip was caused exclusively by one preregistered observation-model term (direct observation of message information-density), not by any deeper property of predictive processing. The credit-assignment mechanism is architecture-invariant across three observer families tested."
  },
  "adversarial_notes": {
    "strongest_remaining_alternative": "PP-A is one specific PP variant; other alternatives (semantic knowledge signal PP-B, active inference PP-C, RL) might produce yet other k_hat verdicts.",
    "discriminating_next_test": "O0-CRP-014-R1 (PP-B: semantic-embedding knowledge signal) or O0-CRP-014-R2 (Bayesian without GAMMA_K opacity hedge — complementary ablation on the Study B side)."
  },
  "replication_queue": [
    {"id": "O0-CRP-014-R1", "type": "pp_b_semantic_knowledge", "status": "planned"},
    {"id": "O0-CRP-014-R2", "type": "bayesian_no_gamma_k", "status": "planned",
     "hypothesis": "Complementary ablation: disable GAMMA_K in Study B's Bayesian observer; does k_hat direction persist? Symmetric test to R4."},
    {"id": "O0-CRP-014-A1", "type": "pooled_variance_TAI", "status": "planned",
     "hypothesis": "Recompute TAI with pooled-variance normalization to avoid the zero-variance NaN issue."}
  ],
  "files": {
    "record": "scientific_record.md",
    "preregistration": "preregistration.md",
    "pp_a_observer": "src/pp_a_observer.py",
    "run_script": "src/run_study.py",
    "analysis_script": "src/analyze.py",
    "raw_confirmatory": "data/raw/confirmatory.jsonl",
    "summary_json": "results/summary.json",
    "analysis_json": "results/analysis.json",
    "run_log": "run_all.log",
    "figures": [
      "figures/01_three_way_architecture.png",
      "figures/02_confirmatory_regimes.png",
      "figures/03_k_trajectories_R3_vs_R4.png"
    ]
  }
}
