summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-07-23 07:18:57 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-07-23 07:18:57 -0500
commit87cfb93fb75b4a45e88a5706c12d446ec92c7008 (patch)
tree34da4d63c3231c0eb9d6c796eea5a4a160c3ba05
parente292d8f58f5ab02cc3e0fe93fe5caf73a8abfc4a (diff)
paper: add evidence-bound ICLR manuscript draft
-rw-r--r--PAPER_PLAN.md3
-rw-r--r--README.md4
-rw-r--r--experiments/audit_manuscript.py257
-rwxr-xr-xexperiments/finalize_accept.sh18
-rw-r--r--experiments/plot_resnet_confirmation.py28
-rw-r--r--paper/CLAIM_LEDGER.json274
-rw-r--r--paper/MANUSCRIPT.md489
-rw-r--r--paper/manuscript_audit.json275
-rw-r--r--results/figs/figure4_resnet_confirmation_manifest.json8
9 files changed, 1353 insertions, 3 deletions
diff --git a/PAPER_PLAN.md b/PAPER_PLAN.md
index f3fcab3..ecb3bc8 100644
--- a/PAPER_PLAN.md
+++ b/PAPER_PLAN.md
@@ -2,6 +2,9 @@
This document maps the frozen evidence to a defensible paper narrative. It is
not permission to promote development results or to hide failed gates.
+The current prose realization is `paper/MANUSCRIPT.md`; its 34 central numeric
+claims, figure set, positive D4 gate, and seven retained R2 failures are checked
+by `experiments/audit_manuscript.py`.
## One-sentence claim
diff --git a/README.md b/README.md
index 4967d80..b6782cc 100644
--- a/README.md
+++ b/README.md
@@ -124,6 +124,10 @@ and the oral-A depth panel stays sealed.
- `ORAL_A_V2.md`: frozen post-failure representable-subspace funnel;
- `ORAL_A_V3.md`: frozen vectorizer-space causal-calibration funnel;
- `REVIEW_SCORECARD.md`: adversarial ICLR-style score trajectory;
+- `paper/MANUSCRIPT.md`: evidence-bound ICLR working draft;
+- `paper/CLAIM_LEDGER.json` and `paper/manuscript_audit.json`: direct bindings
+ from manuscript numbers, gate statuses, figures, and claim boundaries to
+ their audited source files;
- `results/figs/`: deterministic PDF/PNG main figures, captions, and a source
hash manifest, including the untouched D4 ResNet-20 confirmation, plus
audited RRM failure and dynamic-stability supplements.
diff --git a/experiments/audit_manuscript.py b/experiments/audit_manuscript.py
new file mode 100644
index 0000000..5743f24
--- /dev/null
+++ b/experiments/audit_manuscript.py
@@ -0,0 +1,257 @@
+#!/usr/bin/env python3
+"""Bind publication-facing manuscript claims to audited result sources."""
+import argparse
+import hashlib
+import json
+import os
+import re
+
+
+ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
+EXPECTED_SECTIONS = [
+ "## Abstract",
+ "## 1. Introduction",
+ "## 2. Somato-dendritic innovation learning",
+ "## 3. What residualization guarantees—and what it does not",
+ "## 4. Experimental protocol",
+ "## 5. Results",
+ "## 6. Biological-signature test and negative evidence",
+ "## 7. Related work",
+ "## 8. Limitations and discussion",
+ "## 9. Reproducibility statement",
+]
+
+
+def absolute(path):
+ return path if os.path.isabs(path) else os.path.join(ROOT, path)
+
+
+def load_json(path):
+ with open(path) as handle:
+ return json.load(handle)
+
+
+def sha256(path):
+ digest = hashlib.sha256()
+ with open(path, "rb") as handle:
+ for chunk in iter(lambda: handle.read(1024 * 1024), b""):
+ digest.update(chunk)
+ return digest.hexdigest()
+
+
+def require(condition, message):
+ if not condition:
+ raise RuntimeError(message)
+
+
+def pointer_get(value, pointer):
+ require(pointer.startswith("/"), f"invalid JSON pointer: {pointer}")
+ current = value
+ for part in pointer[1:].split("/"):
+ part = part.replace("~1", "/").replace("~0", "~")
+ if isinstance(current, list):
+ current = current[int(part)]
+ else:
+ require(part in current, f"missing JSON pointer component {part!r}")
+ current = current[part]
+ return current
+
+
+def render(value, format_name):
+ require(
+ isinstance(value, (int, float)) and not isinstance(value, bool),
+ f"claim source is not numeric: {value!r}",
+ )
+ value = float(value)
+ if format_name == "fixed0_comma":
+ return f"{value:,.0f}"
+ if format_name == "fixed1":
+ return f"{value:.1f}"
+ if format_name == "fixed2":
+ return f"{value:.2f}"
+ if format_name == "fixed2_percent":
+ return f"{value:.2f}%"
+ if format_name == "fixed3":
+ return f"{value:.3f}"
+ if format_name == "fixed3_percent":
+ return f"{value:.3f}%"
+ if format_name == "fixed4":
+ return f"{value:.4f}"
+ if format_name == "fixed6":
+ return f"{value:.6f}"
+ if format_name == "percent3":
+ return f"{100 * value:.3f}"
+ if format_name == "percent2_percent":
+ return f"{100 * value:.2f}%"
+ if format_name == "percent3_percent":
+ return f"{100 * value:.3f}%"
+ if format_name == "abs_percent3":
+ return f"{100 * abs(value):.3f}"
+ raise RuntimeError(f"unknown claim format: {format_name}")
+
+
+def false_check_paths(value, prefix="checks"):
+ paths = []
+ if isinstance(value, dict):
+ for key, child in value.items():
+ paths.extend(false_check_paths(child, f"{prefix}.{key}"))
+ elif value is False:
+ paths.append(prefix)
+ return paths
+
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--ledger", default="paper/CLAIM_LEDGER.json")
+ parser.add_argument("--out", default="paper/manuscript_audit.json")
+ args = parser.parse_args()
+
+ ledger_path = absolute(args.ledger)
+ ledger = load_json(ledger_path)
+ require(ledger.get("version") == 1, "claim-ledger version drift")
+ manuscript_path = absolute(ledger["manuscript"])
+ require(os.path.isfile(manuscript_path), "manuscript is missing")
+ with open(manuscript_path) as handle:
+ manuscript = handle.read()
+
+ require(
+ manuscript.startswith(
+ "# Learning from the Unexpected: Somato-Dendritic Innovations "
+ "for Local Credit Assignment\n"
+ ),
+ "working title drift",
+ )
+ for section in EXPECTED_SECTIONS:
+ require(manuscript.count(section) == 1, f"section drift: {section}")
+ require("TODO" not in manuscript and "TBD" not in manuscript,
+ "unresolved manuscript placeholder")
+
+ manuscript_dir = os.path.dirname(manuscript_path)
+ expected_figures = {
+ os.path.normpath(os.path.join(manuscript_dir, item))
+ for item in ledger["figures"]
+ }
+ linked_figures = {
+ os.path.normpath(os.path.join(manuscript_dir, item))
+ for item in re.findall(r"!\[[^\]]*\]\(([^)]+)\)", manuscript)
+ if not item.startswith(("http://", "https://"))
+ }
+ require(
+ linked_figures == expected_figures,
+ "manuscript figure set disagrees with claim ledger",
+ )
+ for path in sorted(expected_figures):
+ require(os.path.isfile(path), f"missing manuscript figure: {path}")
+
+ source_cache = {}
+ audited_claims = []
+ for claim in ledger["numeric_claims"]:
+ source_path = absolute(claim["source"])
+ if source_path not in source_cache:
+ source_cache[source_path] = load_json(source_path)
+ value = pointer_get(source_cache[source_path], claim["pointer"])
+ rendered = render(value, claim["format"])
+ require(
+ rendered == claim["token"],
+ f"{claim['id']}: ledger token {claim['token']!r} "
+ f"does not match source rendering {rendered!r}",
+ )
+ require(
+ claim["token"] in manuscript,
+ f"{claim['id']}: audited number is absent from manuscript",
+ )
+ audited_claims.append(
+ {
+ "id": claim["id"],
+ "pointer": claim["pointer"],
+ "rendered": rendered,
+ "source": claim["source"],
+ }
+ )
+
+ gate_audits = []
+ for gate_spec in ledger["gate_statuses"]:
+ gate_path = absolute(gate_spec["source"])
+ gate = load_json(gate_path)
+ require(
+ gate.get("status") == gate_spec["expected"],
+ f"{gate_spec['source']}: gate status drift",
+ )
+ false_paths = false_check_paths(gate.get("checks", {}))
+ if gate_spec["expected"] == "passed":
+ require(not false_paths, f"{gate_spec['source']}: passed gate has false check")
+ else:
+ require(false_paths, f"{gate_spec['source']}: failed gate has no false check")
+ gate_audits.append(
+ {
+ "false_checks": false_paths,
+ "source": gate_spec["source"],
+ "status": gate["status"],
+ }
+ )
+
+ manuscript_flat = re.sub(r"\s+", " ", manuscript)
+ for sentence in ledger["required_boundary_text"]:
+ require(
+ re.sub(r"\s+", " ", sentence) in manuscript_flat,
+ f"required claim boundary absent: {sentence}",
+ )
+ for url in ledger["required_reference_urls"]:
+ require(url in manuscript, f"required primary reference absent: {url}")
+
+ source_paths = sorted(
+ {absolute(item["source"]) for item in ledger["numeric_claims"]}
+ | {absolute(item["source"]) for item in ledger["gate_statuses"]}
+ )
+ output = {
+ "audited_numeric_claims": audited_claims,
+ "figures": [
+ {
+ "path": os.path.relpath(path, ROOT),
+ "sha256": sha256(path),
+ }
+ for path in sorted(expected_figures)
+ ],
+ "gates": gate_audits,
+ "ledger": {
+ "path": os.path.relpath(ledger_path, ROOT),
+ "sha256": sha256(ledger_path),
+ },
+ "manuscript": {
+ "path": os.path.relpath(manuscript_path, ROOT),
+ "sha256": sha256(manuscript_path),
+ "word_count": len(re.findall(r"\b[\w'-]+\b", manuscript)),
+ },
+ "sources": [
+ {
+ "path": os.path.relpath(path, ROOT),
+ "sha256": sha256(path),
+ }
+ for path in source_paths
+ ],
+ "status": "passed",
+ "strict": True,
+ }
+ out_path = absolute(args.out)
+ os.makedirs(os.path.dirname(out_path), exist_ok=True)
+ with open(out_path, "w") as handle:
+ json.dump(output, handle, indent=2, sort_keys=True)
+ handle.write("\n")
+ print(
+ json.dumps(
+ {
+ "false_gate_checks_retained": sum(
+ len(item["false_checks"]) for item in gate_audits
+ ),
+ "numeric_claims": len(audited_claims),
+ "status": output["status"],
+ "word_count": output["manuscript"]["word_count"],
+ },
+ indent=2,
+ sort_keys=True,
+ )
+ )
+
+
+if __name__ == "__main__":
+ main()
diff --git a/experiments/finalize_accept.sh b/experiments/finalize_accept.sh
index 70208e9..b39a714 100755
--- a/experiments/finalize_accept.sh
+++ b/experiments/finalize_accept.sh
@@ -23,7 +23,8 @@ experiments/finalize_claims.sh
experiments/analyze_bci_td_confirmation.py \
experiments/oral_a_dynamic_scaling.py \
experiments/analyze_oral_a_dynamic_scaling.py \
- experiments/plot_resnet_confirmation.py
+ experiments/plot_resnet_confirmation.py \
+ experiments/audit_manuscript.py
/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3 \
experiments/analyze_kp_dynamic_projection.py >/dev/null
/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3 \
@@ -43,7 +44,10 @@ if [ -f results/kp_dynamic_projection_confirmation_gate.json ]; then
.statistics.clean_minus_dynamic_one_sided_95pct_upper_points <= 2.5 and
.statistics.dynamic_early_alignment_mean >= 0.90 and
.statistics.dynamic_mac_ratio_to_bp <= 1.34 and
- .statistics.dynamic_logical_task_loss_queries == [0]
+ .statistics.dynamic_logical_task_loss_queries == [0] and
+ .statistics.dynamic_neutral_observations_per_ordinary_example == [1] and
+ .statistics.dynamic_peak_allocated_gib_mean <= 2.5 and
+ .statistics.dynamic_wall_ratio_to_clean_kp_mean > 1
' results/figs/figure4_resnet_confirmation_manifest.json >/dev/null
fi
if [ -f results/bci_td_dev_gate.json ]; then
@@ -66,6 +70,16 @@ fi
experiments/audit_native_baselines.py \
--results results/native \
--output results/native_baseline_audit.md
+/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3 \
+ experiments/audit_manuscript.py >/dev/null
+jq -e '
+ .strict == true and
+ .status == "passed" and
+ (.audited_numeric_claims | length) == 34 and
+ (.gates | map(select(.status == "passed")) | length) == 1 and
+ (.gates | map(select(.status == "failed")) | length) == 1 and
+ (.gates[] | select(.status == "failed") | .false_checks | length) == 7
+' paper/manuscript_audit.json >/dev/null
git diff --check
echo "accept-bar mechanical audits passed"
diff --git a/experiments/plot_resnet_confirmation.py b/experiments/plot_resnet_confirmation.py
index efd0d48..99a55d4 100644
--- a/experiments/plot_resnet_confirmation.py
+++ b/experiments/plot_resnet_confirmation.py
@@ -483,6 +483,7 @@ def main():
"statistics": {
"clean_kp_test_accuracy_mean": float(clean.mean()),
"dynamic_test_accuracy_mean": float(dynamic.mean()),
+ "dynamic_test_accuracy_min": float(dynamic.min()),
"dynamic_minus_clean_points_mean": float(
(dynamic - clean).mean() * 100
),
@@ -499,6 +500,22 @@ def main():
for seed in EXPECTED_SEEDS
)
),
+ "dynamic_peak_allocated_gib_mean": float(
+ statistics.mean(
+ records[(seed, "kp_traffic")]["hardware"][
+ "peak_memory_allocated_bytes"
+ ]
+ / (1024 ** 3)
+ for seed in EXPECTED_SEEDS
+ )
+ ),
+ "dynamic_wall_ratio_to_clean_kp_mean": float(
+ statistics.mean(
+ records[(seed, "kp_traffic")]["timing"]["total_timed_wall_s"]
+ / records[(seed, "kp")]["timing"]["total_timed_wall_s"]
+ for seed in EXPECTED_SEEDS
+ )
+ ),
"dynamic_logical_task_loss_queries": sorted(
{
records[(seed, "kp_traffic")]["work"][
@@ -507,6 +524,17 @@ def main():
for seed in EXPECTED_SEEDS
}
),
+ "dynamic_neutral_observations_per_ordinary_example": sorted(
+ {
+ records[(seed, "kp_traffic")]["counters"][
+ "neutral_projection_examples"
+ ]
+ / records[(seed, "kp_traffic")]["counters"][
+ "ordinary_examples"
+ ]
+ for seed in EXPECTED_SEEDS
+ }
+ ),
},
"sources": [
{"path": args.gate, "sha256": sha256(args.gate)}
diff --git a/paper/CLAIM_LEDGER.json b/paper/CLAIM_LEDGER.json
new file mode 100644
index 0000000..f687938
--- /dev/null
+++ b/paper/CLAIM_LEDGER.json
@@ -0,0 +1,274 @@
+{
+ "figures": [
+ "../results/figs/figure1_pareto.png",
+ "../results/figs/figure2_scaling.png",
+ "../results/figs/figure3_innovation.png",
+ "../results/figs/figure4_resnet_confirmation.png"
+ ],
+ "gate_statuses": [
+ {
+ "expected": "passed",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "expected": "failed",
+ "source": "results/bci_td_confirmation_gate.json"
+ }
+ ],
+ "manuscript": "paper/MANUSCRIPT.md",
+ "numeric_claims": [
+ {
+ "format": "fixed2_percent",
+ "id": "traffic_zero_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/residual_rho0p0/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "97.45%"
+ },
+ {
+ "format": "fixed2_percent",
+ "id": "traffic_raw_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/raw_rho0p5/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "10.38%"
+ },
+ {
+ "format": "fixed2_percent",
+ "id": "traffic_matched_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/matched_rho0p5/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "10.31%"
+ },
+ {
+ "format": "fixed3_percent",
+ "id": "traffic_innovation_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/residual_rho0p5/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "97.348%"
+ },
+ {
+ "format": "fixed3",
+ "id": "traffic_innovation_matched_gain",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/paired_accuracy/residual_minus_matched_rho0p5/accuracy_point_gain_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "87.038"
+ },
+ {
+ "format": "fixed3",
+ "id": "traffic_innovation_matched_gain_sd",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/paired_accuracy/residual_minus_matched_rho0p5/accuracy_point_gain_sd",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.607"
+ },
+ {
+ "format": "fixed3",
+ "id": "depth_sdil_change",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/d60_minus_d5_accuracy_points_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "-0.214"
+ },
+ {
+ "format": "fixed3",
+ "id": "depth_sdil_change_sd",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/d60_minus_d5_accuracy_points_sd",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.349"
+ },
+ {
+ "format": "fixed4",
+ "id": "depth_sdil_retention_p",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/paired_accuracy_retention_test/one_sided_p",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.0037"
+ },
+ {
+ "format": "fixed3",
+ "id": "depth_dfa_change",
+ "pointer": "/statistics/depth5_to_depth60/DFA/d60_minus_d5_accuracy_points_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "-0.870"
+ },
+ {
+ "format": "fixed3",
+ "id": "depth_dfa_change_sd",
+ "pointer": "/statistics/depth5_to_depth60/DFA/d60_minus_d5_accuracy_points_sd",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.358"
+ },
+ {
+ "format": "fixed4",
+ "id": "depth_dfa_retention_p",
+ "pointer": "/statistics/depth5_to_depth60/DFA/paired_accuracy_retention_test/one_sided_p",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.2310"
+ },
+ {
+ "format": "fixed3",
+ "id": "dfa_alignment_depth5",
+ "pointer": "/statistics/cifar_scaling/DFA_d5/early_alignment_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.514"
+ },
+ {
+ "format": "fixed3",
+ "id": "dfa_alignment_depth60",
+ "pointer": "/statistics/cifar_scaling/DFA_d60/early_alignment_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "0.047"
+ },
+ {
+ "format": "fixed0_comma",
+ "id": "ep_depth2_wall",
+ "pointer": "/statistics/mnist_exact_ep/EP_d2/wall_s_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "17,530"
+ },
+ {
+ "format": "fixed3_percent",
+ "id": "ep_depth2_accuracy",
+ "pointer": "/statistics/mnist_exact_ep/EP_d2/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "89.526%"
+ },
+ {
+ "format": "fixed1",
+ "id": "sdil_depth2_wall",
+ "pointer": "/statistics/mnist_exact_ep/SDIL_d2/wall_s_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "58.5"
+ },
+ {
+ "format": "fixed3_percent",
+ "id": "sdil_depth2_accuracy",
+ "pointer": "/statistics/mnist_exact_ep/SDIL_d2/accuracy_percent_mean",
+ "source": "results/figs/main_figure_manifest.json",
+ "token": "97.516%"
+ },
+ {
+ "format": "percent3_percent",
+ "id": "d4_dynamic_accuracy",
+ "pointer": "/metrics/mean_accuracy/dynamic",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "token": "91.584%"
+ },
+ {
+ "format": "percent3_percent",
+ "id": "d4_clean_accuracy",
+ "pointer": "/metrics/mean_accuracy/clean_kp",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "token": "91.388%"
+ },
+ {
+ "format": "percent2_percent",
+ "id": "d4_dynamic_accuracy_min",
+ "pointer": "/statistics/dynamic_test_accuracy_min",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json",
+ "token": "91.51%"
+ },
+ {
+ "format": "abs_percent3",
+ "id": "d4_dynamic_advantage",
+ "pointer": "/metrics/mean_paired_clean_kp_deficit",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "token": "0.196"
+ },
+ {
+ "format": "percent3",
+ "id": "d4_deficit_upper",
+ "pointer": "/metrics/paired_deficit_one_sided_95pct_upper_bound",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "token": "0.131"
+ },
+ {
+ "format": "fixed6",
+ "id": "d4_early_alignment",
+ "pointer": "/metrics/mean_dynamic_early_alignment",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "token": "0.999687"
+ },
+ {
+ "format": "fixed3",
+ "id": "d4_mac_ratio",
+ "pointer": "/statistics/dynamic_mac_ratio_to_bp",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json",
+ "token": "1.326"
+ },
+ {
+ "format": "fixed2",
+ "id": "d4_peak_gib",
+ "pointer": "/statistics/dynamic_peak_allocated_gib_mean",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json",
+ "token": "2.02"
+ },
+ {
+ "format": "fixed2",
+ "id": "d4_wall_ratio",
+ "pointer": "/statistics/dynamic_wall_ratio_to_clean_kp_mean",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json",
+ "token": "1.47"
+ },
+ {
+ "format": "percent3_percent",
+ "id": "r2_final_performance",
+ "pointer": "/metrics/intact_final/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "99.531%"
+ },
+ {
+ "format": "percent3",
+ "id": "r2_learning_gain",
+ "pointer": "/metrics/intact_gain/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "90.451"
+ },
+ {
+ "format": "percent3",
+ "id": "r2_plasticity_margin",
+ "pointer": "/metrics/plasticity_half_margin/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "45.191"
+ },
+ {
+ "format": "fixed4",
+ "id": "r2_role_cosine",
+ "pointer": "/metrics/role_cosine/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "0.9395"
+ },
+ {
+ "format": "percent3_percent",
+ "id": "r2_residual_outcome_accuracy",
+ "pointer": "/metrics/residual_outcome_accuracy/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "47.325%"
+ },
+ {
+ "format": "abs_percent3",
+ "id": "r2_residual_soma_gap",
+ "pointer": "/metrics/residual_soma_outcome_gap/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "4.322"
+ },
+ {
+ "format": "fixed3",
+ "id": "r2_longitudinal_prediction",
+ "pointer": "/metrics/longitudinal_prediction/mean",
+ "source": "results/bci_td_confirmation_gate.json",
+ "token": "-0.013"
+ }
+ ],
+ "required_boundary_text": [
+ "Neither mechanism is claimed as new.",
+ "we do not infer that cortex implements BP;",
+ "we do not claim arbitrary top-down traffic removal;",
+ "It does not support a ResNet-20-to-56 depth claim.",
+ "The joint biological gate nevertheless fails.",
+ "we do not call this variant single-phase."
+ ],
+ "required_reference_urls": [
+ "https://doi.org/10.1038/s41586-026-10190-7",
+ "https://openreview.net/forum?id=ByeUBANtvB",
+ "https://papers.nips.cc/paper_files/paper/2019/hash/f387624df552cea2f369918c5e1e12bc-Abstract.html",
+ "https://doi.org/10.64898/2026.06.16.732595"
+ ],
+ "version": 1
+}
diff --git a/paper/MANUSCRIPT.md b/paper/MANUSCRIPT.md
new file mode 100644
index 0000000..b4b735a
--- /dev/null
+++ b/paper/MANUSCRIPT.md
@@ -0,0 +1,489 @@
+# Learning from the Unexpected: Somato-Dendritic Innovations for Local Credit Assignment
+
+**Anonymous authors — working ICLR 2027 draft**
+
+> This is the evidence-bound manuscript source. It intentionally contains the
+> failed biological and scaling gates. Author names, acknowledgements, and the
+> venue template are left unset rather than inferred.
+
+## Abstract
+
+Local-learning models often identify activity in a feedback or apical
+compartment with a teaching signal. That compartment can also carry ordinary
+state and contextual traffic, so its raw activity need not point in a useful
+learning direction. Motivated by the per-neuron somato-dendritic residuals
+measured by Francioni and colleagues, we define the teaching variable as an
+*innovation*: apical activity minus its neutral-period prediction from the same
+neuron's somatic activity. We evaluate this operation on top of two inherited
+credit pathways—node-perturbation-trained direct feedback and reciprocal
+Kolen--Pollack plasticity—and attribute those pathways to prior work. Conditional
+expectation makes the innovation the minimum-power residual within the
+predictor's somatic information class, while a norm-matched raw control shows
+that subtraction changes direction rather than merely gain. In a frozen
+60-run intervention, raw and norm-matched apical signals fall to 10.38% and
+10.31% MNIST accuracy under strong soma-predictable traffic, whereas innovation
+retains 97.348%. Across a 12-fold increase in hidden depth on flattened
+CIFAR-10, the learned-feedback backbone changes by -0.214 points while direct
+feedback alignment loses early-layer alignment. On a standard ResNet-20, a
+dynamic paired-neutral innovation rule reaches 91.584% mean CIFAR-10 test
+accuracy across five untouched seeds, versus 91.388% for clean reciprocal
+credit; the one-sided 95% upper bound on its deficit is 0.131 points. It uses
+zero task-loss queries and 1.326 times the matched BP MAC estimate, but pays for
+one instruction-off neutral observation per training example. A preregistered
+synthetic BCI confirmation learns the task and causal sign yet fails outcome
+vectorization and longitudinal prediction. The supported conclusion is
+therefore algorithmic and narrow: neutral somato-dendritic innovation can
+protect local credit from soma-predictable traffic and remain stable on
+ResNet-20, without establishing a cortical learning rule or positive utility
+from added standard-network depth.
+
+## 1. Introduction
+
+Credit assignment asks how a synapse or neuron should change given only a
+distant behavioral outcome. Backpropagation solves this problem in artificial
+networks by transporting exact reverse-mode derivatives, but its weight
+transport, global computation graph, and update-locking requirements make it an
+imperfect model of biological learning. Fixed feedback alignment (FA) and
+direct feedback alignment (DFA) relax exact transport, while equilibrium
+propagation, Forward--Forward, PEPITA, Dual Propagation, and dendritic or
+burst-based models change the activity dynamics or phase structure of learning.
+These approaches differ substantially in what is local, what is transported,
+and what computational cost is hidden in a “phase.”
+
+Compartmental models commonly separate basal feedforward activity from apical
+feedback. This is a powerful architectural idea, but it leaves an identification
+problem: feedback compartments carry state, context, prediction, and ordinary
+coupling in addition to any instruction. Treating all apical activity as error
+can therefore rotate a local update even when the feedback pathway itself is
+well calibrated.
+
+[Francioni et al. (2026)](https://doi.org/10.1038/s41586-026-10190-7)
+provide a sharper empirical object. For each cortical neuron they model the
+normal relation between somatic and distal dendritic event magnitudes and study
+the residual. At population level those residuals carry information absent from
+soma alone, including outcome and neuron-specific causal-role signatures. The
+experiments establish a vectorized dendritic signal, but do not establish that
+the residual directly updates synapses or that cortex implements
+backpropagation.
+
+We turn the residual operation itself into a falsifiable learning hypothesis:
+use only the component of apical activity that is unexpected from the same
+cell's neutral somatic state. We call this **Somato-Dendritic Innovation
+Learning (SDIL)**. The credit pathway that supplies the instructional component
+is deliberately modular. In small feedforward networks we train direct feedback
+with causal node perturbations, following
+[Lansdell, Prakash, and Kording (2020)](https://openreview.net/forum?id=ByeUBANtvB).
+For the stable ResNet experiment we use reciprocal plasticity following
+[Akrout et al. (2019)](https://papers.nips.cc/paper_files/paper/2019/hash/f387624df552cea2f369918c5e1e12bc-Abstract.html).
+Neither mechanism is claimed as new.
+
+Our contributions are:
+
+1. a per-cell neutral innovation rule, with raw and per-example norm-matched
+ controls that isolate subtraction from gain;
+2. a conditional-projection analysis, a descent/gain boundary, and explicit
+ perturbation variance and resource accounting;
+3. frozen evidence that the innovation operation is load-bearing under
+ soma-predictable traffic, including an independently confirmed ResNet-20
+ endpoint; and
+4. retained negative results showing where the proposal does not work:
+ arbitrary top-down traffic, an unstable static ResNet predictor, a failed
+ desired-velocity/online-control interpretation, and an untouched
+ population-signature confirmation that fails its joint gate.
+
+## 2. Somato-dendritic innovation learning
+
+### 2.1 Local teaching variable
+
+For hidden layer \(l\),
+
+\[
+u_l = W_l h_{l-1}, \qquad h_l = \phi(u_l).
+\]
+
+The apical compartment mixes an instruction \(s_l=A_lc_l\) with ordinary
+traffic \(n_l\):
+
+\[
+a_l = s_l+n_l.
+\]
+
+A per-cell predictor is fitted when task instruction is absent:
+
+\[
+m_l(h_l) \approx \mathbb{E}[n_l\mid\mathcal{F}_{h_l},\mathrm{neutral}].
+\]
+
+The teaching variable is
+
+\[
+r_l=a_l-m_l(h_l).
+\]
+
+The implemented small-network predictor is diagonal affine,
+\(m_{l,i}(h_{l,i})=p_{l,i}h_{l,i}+b_{l,i}\). This restriction matters:
+traffic predictable only from other neurons or hidden contextual state cannot
+be guaranteed to disappear.
+
+With a static feedforward eligibility,
+
+\[
+\Delta W_l
+=
+\eta_W\left(r_l\odot\phi'(u_l)\right)h_{l-1}^{\mathsf T}.
+\]
+
+Every factor in this update is available at the synapse or its postsynaptic
+cell: presynaptic activity, local activation gain, and the same cell's apical
+innovation. Recurrent or spiking implementations can replace the instantaneous
+eligibility with a local temporal trace; that extension is not evaluated here.
+
+### 2.2 Two inherited instructional pathways
+
+In the learned-direct-feedback experiments, occasional antithetic Rademacher
+perturbations estimate a causal hidden-state direction. If
+\(\xi_l\) is injected at layer \(l\) and \(L_+,L_-\) are the paired losses,
+
+\[
+q_l
+=
+-\frac{L_+-L_-}{2\sigma}\xi_l.
+\]
+
+The feedback map predicts this direction:
+
+\[
+\Delta A_l
+=
+\eta_A(q_l-A_lc_l)c_l^{\mathsf T}.
+\]
+
+This is learned synthetic feedback by node perturbation and is inherited from
+Lansdell et al. It requires logical loss observations during calibration, which
+we report separately from ordinary supervised loss computation.
+
+The standard ResNet branch instead uses a modified Kolen--Pollack reciprocal
+path. Forward and feedback synapses independently recompute matched local
+activity products and use matched decay; neither path reads or copies the
+other's weight tensor. This inherited mechanism eliminates task-loss queries
+but adds a second reciprocal local correlation.
+
+### 2.3 Dynamic neutral projection
+
+A fixed neutral predictor was unstable in the ResNet mixed-traffic
+intervention. Linearization exposes a multiplicative residual operator whose
+positive modes can diverge even when the initial predictor sign is correct.
+The successful ResNet variant retains a slow neutral predictor and adds a
+paired instruction-off observation on every ordinary example. For each cell,
+
+\[
+e^0_l=a^0_l-m_l(h_l)
+\]
+
+is the remaining neutral residual, and the local affine projection coefficient
+is
+
+\[
+q_l
+=
+\frac{\mathrm{Cov}(e^0_l,h_l)}
+ {\mathrm{Var}(h_l)}.
+\]
+
+The stabilized instruction is the task-period apical signal after removing the
+neutral mean and current affine soma coupling. The fit sees no task instruction,
+loss, downstream weight, or reverse pass. It is nevertheless a real
+instruction-off microphase: every neutral observation and its elementwise
+arithmetic are counted, and we do not call this variant single-phase.
+
+## 3. What residualization guarantees—and what it does not
+
+Let \(n\) be neutral apical traffic and let
+\(\mathcal{F}_h\) be the somatic information available to the predictor. The
+conditional mean \(m(h)=\mathbb{E}[n\mid\mathcal{F}_h]\) obeys
+
+\[
+\mathbb{E}\langle n-m(h),g(h)\rangle=0
+\]
+
+for every square-integrable soma-measurable \(g\), and
+
+\[
+\mathbb{E}\|n-g(h)\|^2
+=
+\mathbb{E}\|n-m(h)\|^2+\mathbb{E}\|m(h)-g(h)\|^2.
+\]
+
+Thus the conditional mean is the unique minimum-power subtraction within the
+chosen somatic information class. This is a standard projection identity, not
+a new theorem. If the neutral traffic law is invariant and task apical
+activity is \(a=s+n\), the innovation is \(r=s+n-m(h)\). The result says
+nothing about nuisance independent of \(\mathcal{F}_h\), nor does it prove that
+\(r\) is a gradient.
+
+The norm-matched raw control uses
+\(\alpha a\), where \(\alpha=\|r\|/\|a\|>0\) for each example. Since
+
+\[
+\cos(\alpha a,-g)=\cos(a,-g),
+\]
+
+positive gain matching cannot reproduce a directional benefit at a fixed
+state. We still train the matched control end to end because gain changes later
+states and optimization trajectories.
+
+Finally, hidden-state alignment alone is insufficient. For complete parameter
+gradient \(p=\nabla_\theta L\) and proposed update direction \(v\), a
+\(\beta\)-smooth loss satisfies
+
+\[
+L(\theta+\eta v)-L(\theta)
+\le
+-\eta c\|p\|\|v\|
++\frac{\beta\eta^2}{2}\|v\|^2,
+\]
+
+where \(c=\langle-p,v\rangle/(\|p\|\|v\|)\). Descent requires direction, gain,
+and curvature to agree. This distinction explains why some failed branches
+end with nearly perfect feedback-weight cosine yet have already diverged.
+
+## 4. Experimental protocol
+
+We freeze advancement gates before opening the corresponding held-out
+endpoint. Failed branches, dirty-provenance rejection, seed sets, and
+validation/test boundaries remain in the repository. Exact hyperparameters,
+hashes, and hardware-independent cost definitions are in the accompanying
+manifests.
+
+### Controlled traffic and depth
+
+The primary necessity experiment trains depth-3, width-256 MNIST networks for
+15 epochs across predictable-traffic ratios
+\(\rho\in\{0,0.05,0.2,0.5\}\), three teaching signals, and seeds 0--4. The
+signals are raw apical activity, per-example norm-matched raw activity, and
+innovation.
+
+The depth panel trains width-64 residual MLPs on flattened CIFAR-10 at hidden
+depths 5, 10, 20, 30, and 60, with five paired seeds. BP is a nonlocal
+reference; FA, DFA, and learned node-perturbation feedback are local-learning
+comparators. Because accuracy does not improve with depth in this task, the
+panel tests preservation and credit alignment rather than useful
+representation depth.
+
+### Standard ResNet confirmation
+
+The standard-scale test uses a CIFAR ResNet-20 (\(6n+2\), width 16) trained for
+200 epochs on all 50,000 training examples. D3 selects no confirmation seed:
+it is a single validation-only endpoint. D4 then trains clean reciprocal credit
+and dynamic innovation from scratch for untouched seeds 10--14, uses no
+validation examples, and evaluates the 10,000-example test set once at the
+endpoint. Both conditions use the same initialization/data seed pairing.
+
+### Baselines and cost
+
+In-repository controls include BP, FA, DFA, direct node perturbation,
+Forward--Forward, PEPITA, canonical persistent-particle equilibrium
+propagation, hierarchical FA, response-mirror variants, and reciprocal
+Kolen--Pollack learning. We additionally audit author-code BurstCCN and Dual
+Propagation runs under their native protocols. Native architectures,
+preprocessing, selection semantics, and wall times are reported as context,
+not placed on a purported equal-compute frontier.
+
+We report logical task-loss observations, affine MAC estimates, separately
+estimated elementwise work, forward-equivalent examples, paired neutral
+observations, peak allocated memory, and wall time. A zero task-loss-query count
+does not make neutral observations or local correlations free.
+
+## 5. Results
+
+### 5.1 Innovation is necessary under soma-predictable traffic
+
+![Somato-dendritic innovation mechanism and controlled necessity experiment.](../results/figs/figure3_innovation.png)
+
+**Figure 1: Controlled innovation necessity.** The committed figure renderer
+audits all 60 records and displays mean and individual-seed outcomes.
+
+At \(\rho=0\), all three signal rules coincide at 97.45%. At \(\rho=0.5\),
+raw apical and norm-matched raw learning fall to 10.38% and 10.31%, whereas
+innovation reaches 97.348%. The paired gain over norm-matched raw is
+87.038 ± 0.607 points. Used-signal alignment remains positive for innovation
+and becomes negative for both controls. The matched control rules out a
+per-example magnitude-only explanation.
+
+This intervention is deliberately strong and structured: traffic is generated
+from the predictor's available somatic statistic. A separate broad endogenous
+top-down intervention does not show uniform removal. The supported claim is
+therefore conditional nuisance removal, not arbitrary contextual denoising.
+
+### 5.2 Learned local credit preserves accuracy over depth in a controlled task
+
+![Accuracy, BP gap, and early credit alignment across hidden depth.](../results/figs/figure2_scaling.png)
+
+**Figure 2: Controlled depth preservation.** “Scaling” in this panel denotes
+retention under a 12-fold increase in hidden depth, not a benefit from added
+depth.
+
+The learned-feedback backbone changes by -0.214 ± 0.349 accuracy points from
+depth 5 to 60. Its paired one-sided test rejects a drop of at least one point
+(\(p=0.0037\)). DFA changes by -0.870 ± 0.358 points and does not reject the
+same margin (\(p=0.2310\)); its early-layer alignment falls from 0.514 to
+0.047. SDIL-labelled no-traffic runs in this panel reduce to the inherited
+Lansdell-style feedback learner and do not establish the novelty of
+residualization.
+
+![Local-learning Pareto frontier and exact-architecture EP comparison.](../results/figs/figure1_pareto.png)
+
+**Figure 3: Accuracy and measured wall-time context.** The local frontier is
+constructed only within the matched flattened-CIFAR protocol. The EP panel
+matches forward architecture, examples, and epochs while retaining each
+method's native preprocessing and dynamics.
+
+Canonical EP is the strongest conceptual stability baseline in the repository
+but is expensive in the audited implementation: at two hidden layers its mean
+wall time is 17,530 s and mean test accuracy is 89.526%, versus 58.5 s and
+97.516% for the feedforward local learner under the stated method-native
+dynamics. These numbers are not a hardware-independent dominance theorem; they
+make the measured cost mismatch explicit.
+
+### 5.3 Dynamic innovation survives untouched ResNet-20 confirmation
+
+![Paired ResNet-20 endpoint, layerwise signal alignment, and trajectory audit.](../results/figs/figure4_resnet_confirmation.png)
+
+**Figure 4: Standard-ResNet confirmation.** All panels are regenerated from
+the ten untouched D4 records, and the renderer refuses missing seeds,
+protocol drift, dirty provenance, or disagreement with the frozen gate.
+
+Dynamic innovation reaches 91.584% mean test accuracy versus 91.388% for clean
+reciprocal credit. Its mean paired advantage is 0.196 points; the one-sided 95%
+upper confidence bound on the clean-minus-dynamic deficit is 0.131 points,
+well inside the frozen 2.5-point noninferiority margin. All five dynamic seeds
+reach at least 91.51%, and mean early-third teaching alignment is 0.999687.
+
+The raw apical direction is poorly aligned in early layers under four-times-RMS
+traffic, whereas the projected innovation remains nearly collinear with the
+negative hidden-state gradient. Reciprocal feedback tracks the forward path
+throughout training rather than merely reaching an aligned endpoint.
+
+The dynamic run uses 1.326 times the matched BP affine-MAC estimate, zero
+logical task-loss queries, one paired neutral observation per ordinary example,
+and 2.02 GiB mean peak allocated memory. On the same GTX 1080s its mean wall
+time is 1.47 times paired clean KP. The result supports ResNet-20 robustness
+under the audited traffic intervention. It does not support a ResNet-20-to-56
+depth claim.
+
+## 6. Biological-signature test and negative evidence
+
+The original online-control/desired-velocity screen fails its frozen causal
+sign and acute-control gates. We therefore constructed a separate
+temporal-difference recovery that factorizes a slowly learned causal-role
+vectorizer from within-episode performance dynamics. Its development screen
+selects one learning rate before confirmation.
+
+The untouched confirmation contains six task seeds and five model seeds per
+task. It learns successfully: mean final performance is 99.531%, mean learning
+gain is 90.451 points, the plasticity lesion has a 45.191-point half-margin,
+role cosine is 0.9395, and all 30 records have the predicted positive sign
+inversion. Residuals are also strongly decorrelated from soma, and their
+correlation with error velocity exceeds that with error magnitude.
+
+The joint biological gate nevertheless fails. Residual outcome decoding is
+47.325%, 4.322 points below soma rather than above it, and early residuals do
+not predict late somatic change (mean correlation -0.013). Surrounding-network
+event accuracy also narrowly misses its frozen mean threshold. Thus the model
+learns a causal-role temporal-difference plasticity signal without reproducing
+the broader population outcome-vectorization and longitudinal signatures.
+Because online control is disabled in this recovery, even a passed plasticity
+gate would not establish an online desired-velocity controller.
+
+These negatives constrain interpretation:
+
+- we do not infer that dendritic residuals directly drive cortical plasticity;
+- we do not infer that cortex implements BP;
+- we do not claim arbitrary top-down traffic removal;
+- we do not claim positive utility from adding standard ResNet depth; and
+- we do not relabel task learning and sign inversion as a passed population
+ signature.
+
+## 7. Related work
+
+FA replaces exact transpose transport with random feedback
+([Lillicrap et al., 2016](https://doi.org/10.1038/ncomms13276)); DFA sends fixed
+random output feedback directly to each hidden layer
+([Nøkland, 2016](https://arxiv.org/abs/1609.01596)). Learned synthetic feedback
+by causal perturbation is closest to SDIL's small-network instructional
+backbone ([Lansdell et al., 2020](https://openreview.net/forum?id=ByeUBANtvB)).
+Akrout et al.'s weight-mirror and modified Kolen--Pollack mechanisms are the
+source of the stable reciprocal ResNet substrate.
+
+Compartmental and burst-based approaches already establish that segregated
+dendrites can coordinate local credit. These include segregated-dendrite
+learning ([Guerguiev et al., 2017](https://doi.org/10.7554/eLife.22901)),
+dendritic microcircuits
+([Sacramento et al., 2018](https://papers.nips.cc/paper_files/paper/2018/hash/1dc3a89d0d440ba31729b0ba74b93a33-Abstract.html)),
+and burst-dependent plasticity
+([Payeur et al., 2021](https://doi.org/10.1038/s41593-021-00857-x)).
+The recent BurstCCN preprint explicitly connects hierarchical dendritic credit
+to the Francioni/Harnett observations
+([Greedy et al., 2026](https://doi.org/10.64898/2026.06.16.732595)).
+Consequently, “apical dendrites carry vector errors” and “a dendritic method
+trains a convolutional network” are not our novelty claims.
+
+Equilibrium propagation uses free and nudged energy-based relaxation
+([Scellier and Bengio, 2017](https://doi.org/10.3389/fncom.2017.00024)).
+Dual Propagation represents activity and error in dyadic states within one
+inference phase
+([Høier and Zach, 2023](https://proceedings.mlr.press/v202/hoier23a.html);
+[Høier and Zach, 2024](https://openreview.net/forum?id=ui8ewXg1hV)).
+PEPITA modulates the input with output error and uses a second forward
+computation
+([Dellaferrera and Kreiman, 2022](https://proceedings.mlr.press/v162/dellaferrera22a.html)).
+Forward--Forward trains layer-local goodness on positive and negative data
+([Hinton, 2022](https://www.cs.toronto.edu/~hinton/FFA13.pdf)).
+SDIL differs in the variable it extracts from a mixed feedback compartment:
+the instruction is the component unexpected from neutral soma, not raw
+feedback, a two-state contrast, or an input perturbation.
+
+## 8. Limitations and discussion
+
+The central novelty is narrow. Conditional projection is standard, and both
+instructional pathways are inherited. The empirical contribution is that
+subtraction is load-bearing under a controlled mixed-channel intervention and
+that the dynamic version remains stable at ResNet-20 scale.
+
+The predictor's information class is a hard boundary. A diagonal per-cell
+predictor cannot remove population-only or latent traffic. Neutral periods are
+also an assumption: task-period fitting can absorb the soma-predictable part of
+the teaching signal itself, while distribution shift can make a correct neutral
+predictor wrong during behavior.
+
+The paired-neutral controller improves stability but weakens a single-phase
+biological interpretation and adds substantial wall time despite modest affine
+MAC overhead. Hardware implementations may price local elementwise operations,
+state storage, and phases differently from GPUs; this is why we report several
+resource axes rather than one scalar cost.
+
+The strongest standard result uses only ResNet-20. The separately frozen
+ResNet-20/32/56 panel remains unopened because its biological prerequisite
+failed. This preserves the declared accept-to-oral ordering but leaves positive
+added-depth utility unresolved.
+
+Finally, the synthetic BCI negatives are scientifically important. The
+residual operation can be algorithmically useful without reproducing every
+signature of cortical dendrites. A stronger biological paper needs a new
+prediction and mechanism frozen independently of the failed outcome and
+longitudinal metrics, ideally tested on the original event-level data rather
+than engineered to pass the present synthetic task.
+
+## 9. Reproducibility statement
+
+Every publication-facing result is bound to source revision, exact seed set,
+protocol, split, and evaluation boundary. Renderers regenerate figures from
+raw records and write source-hash manifests. The complete mechanical audit is:
+
+```bash
+bash experiments/finalize_accept.sh
+```
+
+It rechecks the main figures, theoretical identities, local-rule mechanics,
+baseline protocols, native-author records, standard-ResNet confirmation,
+failed biological confirmation, and the sealed standard-depth boundary.
diff --git a/paper/manuscript_audit.json b/paper/manuscript_audit.json
new file mode 100644
index 0000000..35cfcaa
--- /dev/null
+++ b/paper/manuscript_audit.json
@@ -0,0 +1,275 @@
+{
+ "audited_numeric_claims": [
+ {
+ "id": "traffic_zero_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/residual_rho0p0/accuracy_percent_mean",
+ "rendered": "97.45%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "traffic_raw_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/raw_rho0p5/accuracy_percent_mean",
+ "rendered": "10.38%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "traffic_matched_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/matched_rho0p5/accuracy_percent_mean",
+ "rendered": "10.31%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "traffic_innovation_accuracy",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/cells/residual_rho0p5/accuracy_percent_mean",
+ "rendered": "97.348%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "traffic_innovation_matched_gain",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/paired_accuracy/residual_minus_matched_rho0p5/accuracy_point_gain_mean",
+ "rendered": "87.038",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "traffic_innovation_matched_gain_sd",
+ "pointer": "/statistics/mnist_soma_predictable_traffic/paired_accuracy/residual_minus_matched_rho0p5/accuracy_point_gain_sd",
+ "rendered": "0.607",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_sdil_change",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/d60_minus_d5_accuracy_points_mean",
+ "rendered": "-0.214",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_sdil_change_sd",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/d60_minus_d5_accuracy_points_sd",
+ "rendered": "0.349",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_sdil_retention_p",
+ "pointer": "/statistics/depth5_to_depth60/SDIL/paired_accuracy_retention_test/one_sided_p",
+ "rendered": "0.0037",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_dfa_change",
+ "pointer": "/statistics/depth5_to_depth60/DFA/d60_minus_d5_accuracy_points_mean",
+ "rendered": "-0.870",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_dfa_change_sd",
+ "pointer": "/statistics/depth5_to_depth60/DFA/d60_minus_d5_accuracy_points_sd",
+ "rendered": "0.358",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "depth_dfa_retention_p",
+ "pointer": "/statistics/depth5_to_depth60/DFA/paired_accuracy_retention_test/one_sided_p",
+ "rendered": "0.2310",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "dfa_alignment_depth5",
+ "pointer": "/statistics/cifar_scaling/DFA_d5/early_alignment_mean",
+ "rendered": "0.514",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "dfa_alignment_depth60",
+ "pointer": "/statistics/cifar_scaling/DFA_d60/early_alignment_mean",
+ "rendered": "0.047",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "ep_depth2_wall",
+ "pointer": "/statistics/mnist_exact_ep/EP_d2/wall_s_mean",
+ "rendered": "17,530",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "ep_depth2_accuracy",
+ "pointer": "/statistics/mnist_exact_ep/EP_d2/accuracy_percent_mean",
+ "rendered": "89.526%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "sdil_depth2_wall",
+ "pointer": "/statistics/mnist_exact_ep/SDIL_d2/wall_s_mean",
+ "rendered": "58.5",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "sdil_depth2_accuracy",
+ "pointer": "/statistics/mnist_exact_ep/SDIL_d2/accuracy_percent_mean",
+ "rendered": "97.516%",
+ "source": "results/figs/main_figure_manifest.json"
+ },
+ {
+ "id": "d4_dynamic_accuracy",
+ "pointer": "/metrics/mean_accuracy/dynamic",
+ "rendered": "91.584%",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "id": "d4_clean_accuracy",
+ "pointer": "/metrics/mean_accuracy/clean_kp",
+ "rendered": "91.388%",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "id": "d4_dynamic_accuracy_min",
+ "pointer": "/statistics/dynamic_test_accuracy_min",
+ "rendered": "91.51%",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json"
+ },
+ {
+ "id": "d4_dynamic_advantage",
+ "pointer": "/metrics/mean_paired_clean_kp_deficit",
+ "rendered": "0.196",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "id": "d4_deficit_upper",
+ "pointer": "/metrics/paired_deficit_one_sided_95pct_upper_bound",
+ "rendered": "0.131",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "id": "d4_early_alignment",
+ "pointer": "/metrics/mean_dynamic_early_alignment",
+ "rendered": "0.999687",
+ "source": "results/kp_dynamic_projection_confirmation_gate.json"
+ },
+ {
+ "id": "d4_mac_ratio",
+ "pointer": "/statistics/dynamic_mac_ratio_to_bp",
+ "rendered": "1.326",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json"
+ },
+ {
+ "id": "d4_peak_gib",
+ "pointer": "/statistics/dynamic_peak_allocated_gib_mean",
+ "rendered": "2.02",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json"
+ },
+ {
+ "id": "d4_wall_ratio",
+ "pointer": "/statistics/dynamic_wall_ratio_to_clean_kp_mean",
+ "rendered": "1.47",
+ "source": "results/figs/figure4_resnet_confirmation_manifest.json"
+ },
+ {
+ "id": "r2_final_performance",
+ "pointer": "/metrics/intact_final/mean",
+ "rendered": "99.531%",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_learning_gain",
+ "pointer": "/metrics/intact_gain/mean",
+ "rendered": "90.451",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_plasticity_margin",
+ "pointer": "/metrics/plasticity_half_margin/mean",
+ "rendered": "45.191",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_role_cosine",
+ "pointer": "/metrics/role_cosine/mean",
+ "rendered": "0.9395",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_residual_outcome_accuracy",
+ "pointer": "/metrics/residual_outcome_accuracy/mean",
+ "rendered": "47.325%",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_residual_soma_gap",
+ "pointer": "/metrics/residual_soma_outcome_gap/mean",
+ "rendered": "4.322",
+ "source": "results/bci_td_confirmation_gate.json"
+ },
+ {
+ "id": "r2_longitudinal_prediction",
+ "pointer": "/metrics/longitudinal_prediction/mean",
+ "rendered": "-0.013",
+ "source": "results/bci_td_confirmation_gate.json"
+ }
+ ],
+ "figures": [
+ {
+ "path": "results/figs/figure1_pareto.png",
+ "sha256": "62cba0f1162818835548fb7144cc283424d6f91a069b2dea2c38dbcf43b63ab3"
+ },
+ {
+ "path": "results/figs/figure2_scaling.png",
+ "sha256": "55955ed63f212ec8b0bec86d89025708db256c2eb4994ce973c3fc3d9e4dc599"
+ },
+ {
+ "path": "results/figs/figure3_innovation.png",
+ "sha256": "70b9ab177d92a9d9b2f3e2badedb7fe9e466928c2eec5c9a0229bbda4dcdd9f0"
+ },
+ {
+ "path": "results/figs/figure4_resnet_confirmation.png",
+ "sha256": "4011c9d31de4a53a7ae24bf4030693b22dabf6b7a7ed8a7eed2f6b5b91a97b78"
+ }
+ ],
+ "gates": [
+ {
+ "false_checks": [],
+ "source": "results/kp_dynamic_projection_confirmation_gate.json",
+ "status": "passed"
+ },
+ {
+ "false_checks": [
+ "checks.innovation_identification_and_network_prediction.mean_surrounding_event_accuracy_at_least_0p55",
+ "checks.outcome_and_causal_role_vectorization.longitudinal_prediction_lower_bound_at_least_0p10",
+ "checks.outcome_and_causal_role_vectorization.mean_longitudinal_prediction_at_least_0p30",
+ "checks.outcome_and_causal_role_vectorization.mean_residual_outcome_accuracy_at_least_0p57",
+ "checks.outcome_and_causal_role_vectorization.mean_residual_soma_outcome_gap_at_least_0p03",
+ "checks.outcome_and_causal_role_vectorization.residual_outcome_accuracy_lower_bound_at_least_0p53",
+ "checks.outcome_and_causal_role_vectorization.residual_soma_outcome_gap_lower_bound_nonnegative"
+ ],
+ "source": "results/bci_td_confirmation_gate.json",
+ "status": "failed"
+ }
+ ],
+ "ledger": {
+ "path": "paper/CLAIM_LEDGER.json",
+ "sha256": "5d779179ee8c1f6d2d00a34b2f4adaa483212996a54efe620a482115c1dcc689"
+ },
+ "manuscript": {
+ "path": "paper/MANUSCRIPT.md",
+ "sha256": "dc45c921be33b35c4a8629e308e118c1506719a0f018b807628be341c5a1da25",
+ "word_count": 3238
+ },
+ "sources": [
+ {
+ "path": "results/bci_td_confirmation_gate.json",
+ "sha256": "4f6f969ceae88afa2523e3472a3373522991f5ecaab69440830c07479d2d3597"
+ },
+ {
+ "path": "results/figs/figure4_resnet_confirmation_manifest.json",
+ "sha256": "4aa3fbab16f41f608259b345283db7ef03ec8562f4e1f811ec6fe0a228dfa8c9"
+ },
+ {
+ "path": "results/figs/main_figure_manifest.json",
+ "sha256": "f5099b29d7f83ad7dc7783b927f682d7af43a90072e11fc7da2e8be5e7685450"
+ },
+ {
+ "path": "results/kp_dynamic_projection_confirmation_gate.json",
+ "sha256": "636c587e47287338cdca7d9558dc3bfb99a2cec615badb23337025d85b8128ef"
+ }
+ ],
+ "status": "passed",
+ "strict": true
+}
diff --git a/results/figs/figure4_resnet_confirmation_manifest.json b/results/figs/figure4_resnet_confirmation_manifest.json
index c3563ac..1bdc74e 100644
--- a/results/figs/figure4_resnet_confirmation_manifest.json
+++ b/results/figs/figure4_resnet_confirmation_manifest.json
@@ -68,7 +68,13 @@
],
"dynamic_mac_ratio_to_bp": 1.3260649642373068,
"dynamic_minus_clean_points_mean": 0.1960000000000006,
- "dynamic_test_accuracy_mean": 0.91584
+ "dynamic_neutral_observations_per_ordinary_example": [
+ 1.0
+ ],
+ "dynamic_peak_allocated_gib_mean": 2.0158815383911133,
+ "dynamic_test_accuracy_mean": 0.91584,
+ "dynamic_test_accuracy_min": 0.9151,
+ "dynamic_wall_ratio_to_clean_kp_mean": 1.4652913395042348
},
"strict": true
}