diff options
| author | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 15:31:27 -0500 |
|---|---|---|
| committer | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 15:31:27 -0500 |
| commit | 36ca1aeb462048fd7cf59d4c97c06a6521545301 (patch) | |
| tree | 63a8e745d2625e54aa2f47574f38122717eed44f | |
| parent | c30131a387c8059ff907c48fbbc648ad1fe2a81b (diff) | |
audit: reject nonfinite confirmation trajectories
| -rw-r--r-- | experiments/analyze_kp_innovation_confirmation.py | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/experiments/analyze_kp_innovation_confirmation.py b/experiments/analyze_kp_innovation_confirmation.py index 37b06b5..aa97108 100644 --- a/experiments/analyze_kp_innovation_confirmation.py +++ b/experiments/analyze_kp_innovation_confirmation.py @@ -76,6 +76,12 @@ def main(): raise ValueError( f"tracked-dirty MT-3 seed {seed} {condition}") source_commits.add(record["provenance"]["git_commit"]) + expected_space = ( + "reciprocal_local_activity_products" if condition == "clean" + else "reciprocal_local_activity_products_with_mixed_apical_traffic") + if record.get("calibration_metric_space") != expected_space: + raise ValueError( + f"MT-3 seed {seed} {condition} metric-space drift") if condition != "clean": warmup = record.get("predictor_warmup", {}) if (warmup.get("instruction_present") is not False @@ -138,23 +144,43 @@ def main(): if any(value is None for value in tracking): invariant_failures.append(f"seed{seed}_{condition}:tracking") continue + for value in tracking: + finite_values.extend([ + float(value["mean_feedback_forward_cosine"]), + float(value["mean_feedback_forward_relative_error"]), + float(value["min_feedback_forward_cosine"]), + float(value["max_feedback_forward_relative_error"]), + ]) final_cosine = float( record["diagnostics"]["mean_feedback_forward_cosine"]) late_cosine = statistics.mean(float( value["mean_feedback_forward_cosine"]) for value in tracking[150:]) + finite_values.extend([final_cosine, late_cosine]) if final_cosine < 0.95 or late_cosine < 0.95: invariant_failures.append(f"seed{seed}_{condition}:kp_tracking") if condition != "clean": ratios = record["traffic_calibration"][ "realized_traffic_instruction_rms_ratio"] + finite_values.extend(float(value) for value in ratios) if max(abs(float(value) - 4.0) for value in ratios) > 1e-5: invariant_failures.append(f"seed{seed}_{condition}:ratio") diagnostics = record["diagnostics"] - if float(diagnostics[ - "predictor_traffic_residual_rms_ratio"]) > 0.05: + predictor_ratio = float(diagnostics[ + "predictor_traffic_residual_rms_ratio"]) + norm_error = float(diagnostics["max_norm_match_relative_error"]) + finite_values.extend([predictor_ratio, norm_error]) + for row in trajectory: + mixed = row.get("mixed_apical") + if mixed is None: + invariant_failures.append( + f"seed{seed}_{condition}:mixed_trajectory") + break + finite_values.extend(float(mixed[key]) for key in ( + "teaching_rms", "instruction_rms", "raw_apical_rms", + "innovation_rms", "traffic_rms")) + if predictor_ratio > 0.05: invariant_failures.append(f"seed{seed}_{condition}:predictor") - if condition == "matched" and float(diagnostics[ - "max_norm_match_relative_error"]) > 1e-6: + if condition == "matched" and norm_error > 1e-6: invariant_failures.append(f"seed{seed}_{condition}:norm") if int(record["work"][ "elementwise_operations_estimate"]) <= 0: @@ -164,6 +190,7 @@ def main(): used_early = float(diagnostics["early_third_mean"]) raw_early = mean_early( diagnostics["raw_negative_gradient_cosine"]) + finite_values.extend([used_early, raw_early]) if used_early < 0.80 or used_early - raw_early < 0.15: invariant_failures.append(f"seed{seed}:alignment") |
