summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 15:31:27 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 15:31:27 -0500
commit36ca1aeb462048fd7cf59d4c97c06a6521545301 (patch)
tree63a8e745d2625e54aa2f47574f38122717eed44f
parentc30131a387c8059ff907c48fbbc648ad1fe2a81b (diff)
audit: reject nonfinite confirmation trajectories
-rw-r--r--experiments/analyze_kp_innovation_confirmation.py35
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")