{
  "id": "O0-CRP-035",
  "title": "SIM-CRP-003 · Perspective Distillation — What survives when an observer is compressed",
  "semantic_name": "SIM-CRP-003",
  "record_class": "SIMULATION",
  "version": "1.2.0",
  "status": "INCONCLUSIVE (primary) · WEIGHTS-CARRY-IDENTITY (secondary, v1.2)",
  "evidence_level": "computational_simulation",
  "replication_status": "internally_replicated_by_sister_study_CRP-036",
  "program": "contact_and_revelation",
  "non_drift_question": "PERSPECTIVE",
  "opens_branch": "PERSPECTIVE",
  "date": "2026-07-30",
  "source_record": "OA-O001",
  "supersedes_versions": ["1.0.0", "1.1.0"],

  "design_correction_v1_2": {
    "reason": "v1.0/v1.1 observer had w shape (d,), so x @ w was a scalar broadcast to all action logits; softmax shift-invariance made w behaviorally invisible.",
    "fix": "v1.2 uses per-action weight matrix W in R^{d x K}; q(x)[a] = x . W[:, a] + p[a] is genuinely context-dependent per action.",
    "detected_by": "O0-CRP-036 LA1 level (preferences only, w=0) gave BC_TV=1.000 in v1.1 observer, mathematically impossible if observer were truly context-dependent.",
    "v1_1_findings_status": {
      "F1_memory_no_op": "REPLICATED under v1.2 (design-invariant, decision rule does not use memory)",
      "F2_preferences_dominate_weights": "REVERSED under v1.2 - was a mathematical tautology, not empirical",
      "F3_argmaxP_bit_lifts": "REFRAMED under v1.2 - lift is due to per-action W structure, not argmax(p) alone"
    }
  },

  "related_records": [
    "O0-CRP-001", "O0-CRP-004",
    "O0-CRP-011", "O0-CRP-013", "O0-CRP-014",
    "O0-CRP-015", "O0-CRP-016", "O0-CRP-018",
    "O0-CRP-036", "O0-CRP-037"
  ],

  "design_summary": {
    "n_observers_confirmatory": 30,
    "observer_seeds": "12000..12029",
    "env_seeds_train": "12500..12529",
    "eval_context_seed": 13000,
    "n_eval_contexts": 200,
    "probe_seed": 13500,
    "n_probe_pairs": 500,
    "vp_env_seeds": "14000..14049",
    "n_vp_environments": 50,
    "n_vp_episodes": 20,
    "context_dim": 8,
    "n_actions": 4,
    "observer_state_v1_2": "(W in R^{d x K}, mu_0 in R^d, eta, tau, p in R^K, memory, id)",
    "compression_levels": [0, 1, 2, 3, 4, 5, 6, 7],
    "tau_range_v1_1": [0.15, 0.50]
  },

  "preregistered_metrics_v1_1": {
    "primary": ["BC_TV", "BC_AM"],
    "auxiliary": ["BC_cos"],
    "additional": ["SR", "VP", "PS", "Rec"]
  },

  "gates_v1_2": {
    "identity_gate_BC_TV_0": 1.0,
    "identity_gate_BC_AM_0": 1.0,
    "metric_saturation_BC_TV_cross_0": 0.259,
    "metric_saturation_BC_AM_cross_0": 0.246,
    "identity_gate_passed": true,
    "metric_saturation_passed": true
  },

  "primary_findings_v1_2": {
    "verdict": "INCONCLUSIVE",
    "reason": "No compression level satisfies plateau condition BC(L*) >= 0.7 AND BC(L*+1) < 0.4 on both TV and AM. L4 satisfies the first clause (BC_TV(4)=0.892) but BC_TV(5)=0.458 misses the second clause (0.458 > 0.4) by 0.058."
  },

  "secondary_findings_v1_2": {
    "F1_memory_no_op": {
      "description": "Memory summary preservation is behaviorally equivalent to full memory in this observer class - REPLICATED across observer designs.",
      "evidence": "BC_TV(0)=BC_TV(1)=BC_TV(2)=1.000 under both v1.0/v1.1 and v1.2 observers",
      "design_invariance": true
    },
    "F2_weights_carry_identity_v1_2": {
      "description": "In the properly context-dependent linear-bandit observer, the W matrix carries the identity-relevant signal.",
      "evidence": {
        "BC_TV_L4": 0.892,
        "BC_TV_L4_random": 0.282,
        "gap_TV": 0.610,
        "BC_AM_L4": 0.885,
        "BC_AM_L4_random": 0.266,
        "gap_AM": 0.619,
        "SR_L4": 0.433,
        "SR_chance": 0.033,
        "VP_L4": 0.927,
        "PS_L4": 0.986
      },
      "interpretation": "At L4 (W preserved, preferences and memory discarded), behavior is preserved almost perfectly. This REVERSES v1.1 F2 which was a mathematical artifact of softmax shift-invariance.",
      "confirmed_by_sister_study": "O0-CRP-036 verdict WEIGHTS_DOMINATE under the same observer fix"
    },
    "F3_argmax_lifts_modest_v1_2": {
      "description": "Per-action argmax(W) + argmax(p) preserves modest identity signal.",
      "evidence": {
        "BC_TV_L5": 0.458,
        "BC_TV_L5_random": 0.299,
        "gap_TV": 0.159,
        "BC_AM_L5": 0.505,
        "BC_AM_L5_random": 0.242,
        "gap_AM": 0.263
      },
      "interpretation": "Preserving per-action structure of W (which context feature each action attends to) retains substantial identity signal even after most numeric information is discarded."
    },
    "F4_sub_argmax_collapse_v1_2": {
      "description": "Compression below the per-action argmax level (L6 one-bit invariant, L7 identifier) collapses to the random baseline.",
      "evidence": {
        "BC_TV_L6": 0.326, "BC_TV_L6_random": 0.317,
        "BC_TV_L7": 0.319, "BC_TV_L7_random": 0.319
      }
    }
  },

  "supported_claims_v1_2": [
    "Opens the PERSPECTIVE non-drift branch of CRP-001.",
    "Memory summary preservation is a behavioral no-op (F1, design-invariant).",
    "In the properly context-dependent linear-bandit observer, the W matrix carries the identity signal (F2 v1.2, REVERSING v1.1 F2).",
    "Per-action argmax structure of W preserves modest identity signal beyond a random baseline (F3 v1.2).",
    "Sub-argmax compression (one bit or less) collapses to random (F4 v1.2).",
    "v1.0/v1.1 F2 was a mathematical tautology (softmax shift-invariance); documented and corrected here.",
    "Sister study CRP-036 (which exposed the bug) also gives WEIGHTS_DOMINATE under the fixed observer."
  ],

  "not_established_claims_v1_2": [
    "Whether the preregistered plateau condition is meaningful at all - registered followup CRP-035-R4 will recalibrate.",
    "Whether F1, F2 (v1.2), F3 generalize beyond the linear-bandit observer class (CRP-037 registered).",
    "Whether the W-vs-p asymmetry holds for other environment classes.",
    "Any claim about identity or perspective in a philosophical sense."
  ],

  "adversarial_notes_v1_2": [
    "The design correction was detected by a sister study (CRP-036), not by internal review. This is documented publicly.",
    "The random-parameter baseline at L4 uses W matrices drawn from N(0,1); different distributions would move the baseline.",
    "The plateau condition is a specific curve-shape rule; the observed data is closer to a declining ramp with L4 plateau."
  ],

  "replication_queue": [
    {"id": "O0-CRP-036", "kind": "alternate_compression_path", "target": "preference-preserving path (invert L4)", "status": "EXECUTED_UNDER_V1_2", "verdict": "WEIGHTS_DOMINATE"},
    {"id": "O0-CRP-037", "kind": "cross_architecture", "target": "PP observer with beliefs+precisions", "status": "REGISTERED"},
    {"id": "O0-CRP-035-R3", "kind": "environment_generalization", "target": "nonlinear reward", "status": "REGISTERED"},
    {"id": "O0-CRP-035-R4", "kind": "verdict_rule_recalibration", "target": "gap-from-random criterion", "status": "REGISTERED"}
  ],

  "figures": [
    {"file": "figures/01_bc_curves.png", "caption": "Primary BC_TV and BC_AM curves with random-parameter and cross-observer baselines (v1.2 observer)"},
    {"file": "figures/02_all_metrics.png", "caption": "All preregistered metrics (BC_TV, BC_AM, SR, VP, PS) across compression levels (v1.2)"},
    {"file": "figures/03_gap_from_random.png", "caption": "Non-triviality gap (compressed BC minus random-parameter BC) across levels (v1.2)"},
    {"file": "figures/04_heatmap.png", "caption": "Metric heatmap (v1.2)"},
    {"file": "figures/05_v10_vs_v11.png", "caption": "v1.0 diagnostic vs v1.1/v1.2 comparison"}
  ],

  "files": {
    "preregistration": "preregistration.md",
    "scientific_record": "scientific_record.md",
    "code": ["src/observer.py", "src/compressors.py", "src/measurements.py", "src/run_study.py", "src/analyze.py", "src/summarize.py"],
    "results": ["results/summary_exploratory.json", "results/summary_confirmatory.json"],
    "v1_0_diagnostic": ["data/v1.0_diagnostic/summary_exploratory_v1.0.json"]
  },

  "provenance": {
    "philosophical_source": "OA-O001 - 'end credits contain only your name' - a perspective reduces to a single identifier.",
    "conceptual_relationship": "operationalization",
    "disclaimer": "Conceptual provenance is not empirical support. This study operationalizes a compression pipeline. It does not evaluate metaphysical claims."
  },

  "runtime_seconds": 184
}
