summaryrefslogtreecommitdiff
path: root/RESULTS.md
blob: 1fd7b0b468390e84705bda5efa5a470aa7fc55c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
# SDIL — results log (audited sections report n; timan107 GTX-1080 / ep_pascal)

## 2026-07-21 audit and version boundary

Git was initialized after inheriting the project. The original code/results are preserved at
`215acff`. The following audit findings changed the canonical implementation:

1. `49b86d6`: residual-block local updates now include the branch Jacobian
   `res_alpha=1/sqrt(depth)`. The omission preserved cosine direction but inflated update norms by
   `sqrt(depth)`, confounding cross-depth optimization comparisons.
2. `5255166`: the Harnett baseline is now a per-neuron affine soma-dendrite fit
   `ahat_l = p_l * h_l + b_l`, rather than a dense population map. This follows the paper's
   per-cell least-squares somatic-event to dendritic-event relation.
3. `c2769e6`: causal perturbation targets and predicted residuals are measured on the same
   pre-update network state.
4. `0f107d1` / `e0bfdfd`: simultaneous hidden-layer perturbations reduce calibration from
   quadratic to linear depth work; batching directions makes the reduction visible in GPU wall
   time. `66e3034` fixes diagnostics so raw-apical ablations report the signal actually used.
5. `2f3f44d`: the raw-apical control can be matched per sample to the innovation norm. This
   separates subtraction/direction from a trivial update-magnitude explanation.
6. `6093fe5` / `d6a00aa`: FA, PEPITA, Forward-Forward, and EP were reimplemented against their
   papers and reference code. EP uses persistent free particles; deep PEPITA requires an explicit
   learning rate; FA now logs the signal actually transported through its fixed feedback path.

All older `deepres_*` files predate item 1. Their alignment directions remain informative, but
their accuracy and stability should not be pooled with the corrected runs below.

## Method
SDIL (Somato-Dendritic Innovation Learning), a local non-backprop rule inspired by Harnett 2026.
Per hidden layer l:
- forward: `u_l = W_l h_{l-1}`, `h_l = φ(u_l)`
- apical feedback `a_l = A_l c` (c = output error e = softmax−onehot, broadcast)
- default per-neuron predictor `ĥ_l = p_l ⊙ h_l + b_l`; teaching signal `r_l = a_l − ĥ_l`
- three-factor update `ΔW_l = η (r_l ⊙ φ'(u_l)) h_{l-1}^T`
- `A_l` learned by node perturbation (q_l ≈ −∇_{h_l}L, forward-only, no weight transport),
  following Lansdell, Prakash & Kording's learned synthetic-feedback method
- `P_l` learned on neutral (c=0) periods only, so it strips the soma-predictable nuisance
  without eating the teaching signal.

The scalable perturbation mode injects independent Rademacher interventions at all hidden layers
in the same antithetic forward evaluations. Cross-layer interference adds variance but averages to
zero; it trains all `A_l` using `O(depth)` rather than `O(depth^2)` forward work.

Relative to fixed DFA/FA, the feedback pathway is learned by causal perturbation. That ingredient
is not novel: without traffic and `P`, it is the direct learned-feedback method of
[Lansdell et al.](https://arxiv.org/abs/1906.00889). The candidate SDIL contribution is specifically
the per-cell residual under mixed apical traffic and its neutral-period identification. The full
claim boundary is frozen in `NOVELTY.md`.

## Critical fix
Node-perturbation estimator must divide by σ, not σ² (with δ=σξ, ĝ = δ·ΔL/σ² = ξ·ΔL/σ ⇒ ‖q‖≈‖∇L‖).
The σ² bug made the teaching signal ~100× too large ⇒ effective LR ~100× ⇒ SDIL stalled. Cosine is
magnitude-invariant so alignment looked fine while optimization blew up. Fixing it turned SDIL from
"worse than DFA everywhere" to "matches DFA on MNIST, beats it on FMNIST/CIFAR". (Codex independently
flagged the same σ-scale issue.)

## Verified five-depth scaling (CIFAR-10, width 64, 5 epochs, five seeds)

Mean ± sample SD. Alignment is the mean per-sample cosine over the earliest third of hidden layers
at the final checkpoint. SDIL uses simultaneous perturbations with 16 batched directions.

| depth | method | test acc (%) | early-third alignment | wall time (s) |
|------:|:-------|-------------:|----------------------:|--------------:|
| 5 | BP | 41.546 ± 0.422 | — | 6.9 ± 0.3 |
| 5 | FA | 38.924 ± 0.729 | 0.630 ± 0.022 | 5.7 ± 1.0 |
| 5 | DFA | 37.768 ± 0.654 | 0.514 ± 0.032 | 5.0 ± 0.2 |
| 5 | SDIL | 41.460 ± 0.226 | 0.797 ± 0.018 | 9.8 ± 1.9 |
| 10 | BP | 41.702 ± 0.730 | — | 11.7 ± 0.3 |
| 10 | FA | 39.056 ± 0.557 | 0.610 ± 0.022 | 10.0 ± 2.1 |
| 10 | DFA | 36.716 ± 0.363 | 0.231 ± 0.030 | 9.4 ± 1.7 |
| 10 | SDIL | 41.046 ± 0.222 | 0.496 ± 0.024 | 19.6 ± 4.4 |
| 20 | BP | 41.910 ± 0.560 | — | 20.2 ± 1.1 |
| 20 | FA | 37.448 ± 0.603 | 0.569 ± 0.025 | 18.8 ± 3.6 |
| 20 | DFA | 37.106 ± 0.710 | 0.126 ± 0.023 | 17.9 ± 3.5 |
| 20 | SDIL | 41.288 ± 0.606 | 0.403 ± 0.020 | 31.2 ± 1.5 |
| 30 | BP | 41.908 ± 0.697 | — | 29.8 ± 1.3 |
| 30 | FA | 38.158 ± 0.517 | 0.593 ± 0.014 | 26.9 ± 1.9 |
| 30 | DFA | 36.988 ± 0.524 | 0.087 ± 0.007 | 23.4 ± 0.8 |
| 30 | SDIL | 41.198 ± 0.523 | 0.366 ± 0.007 | 47.8 ± 1.4 |
| 60 | BP | 41.624 ± 0.781 | — | 58.4 ± 1.0 |
| 60 | FA | 38.428 ± 0.387 | 0.577 ± 0.011 | 49.8 ± 1.8 |
| 60 | DFA | 36.898 ± 0.444 | 0.047 ± 0.005 | 47.6 ± 5.6 |
| 60 | SDIL | 41.246 ± 0.323 | 0.336 ± 0.013 | 96.4 ± 12.4 |

Across paired seeds, SDIL changes by `-0.214 ± 0.349` accuracy points from d5 to d60, while the
depth grows 12x and wall time grows 9.87x (geometric mean). Its paired gap to BP is
`0.086 ± 0.346` points at d5 and `0.378 ± 0.927` at d60. The SDIL−DFA advantage stays between
3.69 and 4.35 points at every tested depth. Flattened CIFAR itself is depth-flat, so this establishes
preservation under depth, not a claim that extra depth improves the task.

The `-1`-point retention margin was fixed in `experiments/finalize_claims.sh` before the missing
depth cells were generated. A paired one-sided t-test rejects the null that SDIL's mean d5-to-d60
change is at most `-1` point (`t(4)=5.030`, `p=0.0037`; one-sided 95% lower bound `-0.547`). The
same complete analysis rejects that null for BP (`p=0.0359`) and FA (`p=0.0321`) but not DFA
(`p=0.2310`; lower bound `-1.211`). This is a non-inferiority-to-the-prespecified-margin statement,
not a post-hoc test that the depth change is exactly zero.

The mean-based nondominated frontier among local methods is DFA-d5 (`5.01 s`, `37.77%`), FA-d5
(`5.72 s`, `38.92%`), then SDIL-d5 (`9.84 s`, `41.46%`). BP is shown only as a nonlocal reference.
Thus SDIL occupies the high-accuracy end of the audited local-learning frontier; the deeper SDIL
configurations demonstrate stability, but are correctly dominated by its d5 configuration on this
depth-flat task.

SDIL's early-third alignment declines from `0.797` at d5 to `0.336` at d60; it is useful but not
depth-invariant. DFA collapses much further (`0.514` to `0.047`). Residual FA does **not** show that
failure because identity skips transport most of the state gradient exactly (`0.630` to `0.577`),
yet its accuracy stays roughly 2.6–4.5 points below BP. The supported claim is therefore not “all FA
signals lose alignment”: direction, scale, serial transport, and optimization quality must be
separated.

## Harnett-specific residualization (MNIST, d3/w256, 15 epochs, five seeds)

The matched-raw control preserves the raw apical direction but rescales every sample to the
innovation's norm.

| nuisance rho | raw apical acc (%) | matched raw acc (%) | residual acc (%) |
|-------------:|-------------------:|--------------------:|-----------------:|
| 0.00 | 97.450 ± 0.046 | 97.450 ± 0.046 | 97.450 ± 0.046 |
| 0.05 | 96.438 ± 0.077 | 96.980 ± 0.148 | 97.382 ± 0.154 |
| 0.20 | 95.512 ± 0.150 | 95.974 ± 0.144 | 97.370 ± 0.083 |
| 0.50 | 10.380 ± 0.548 | 10.310 ± 0.633 | 97.348 ± 0.133 |

At zero nuisance all three signals are identical. As normal soma-dendrite coupling grows, raw
feedback degrades and eventually reaches chance; residual learning stays at 97.35–97.45%. Matching
the raw signal's norm recovers only part of the low-rho loss and does nothing at rho=0.5. The strong
result therefore depends on subtracting the soma-predictable component, not merely clipping or
normalizing an oversized update. This is the most direct evidence that the Harnett-specific
innovation operation is algorithmically necessary.

The strict Figure 3 renderer now audits all 60 cells directly from their clean result records. At
`rho=0.5`, the paired innovation gains are `+86.968 ± 0.626` points over raw and
`+87.038 ± 0.607` over norm-matched raw. Mean final all-layer alignment of the signal actually used
for learning is `-0.438 ± 0.075` for raw, `-0.114 ± 0.176` for norm-matched raw, and
`+0.205 ± 0.020` for innovation. Thus subtraction preserves both task performance and a descent
direction; positive per-example norm matching cannot rotate the contaminated raw signal.

## Continuous-BCI Harnett-signature screen (development only)

The oral-B protocol was committed before any result and then run as a complete
12-candidate by three-environment grid at clean revision `b4458cd`. It crossed
scalar error versus error-plus-within-episode velocity, online-control gains
`0`, `0.1`, and `0.3`, and forward rates `0.01` and `0.03`. Every result paired
intact, fixed-vectorizer, online-lesion, plasticity-lesion, and both-lesion
conditions on identical continuous trajectories. Confirmation environment
seeds 10--15 were never evaluated.

| feedback | kappa | eta | worst final success | worst sign-inversion | eligible |
|:--|--:|--:|--:|--:|:--:|
| error | 0.0 | 0.01 | 0.156 | -0.0038 | no |
| error | 0.0 | 0.03 | 0.988 | -0.0018 | no |
| error | 0.1 | 0.01 | 0.141 | -0.0035 | no |
| error | 0.1 | 0.03 | 0.988 | -0.0018 | no |
| error | 0.3 | 0.01 | 0.102 | -0.0032 | no |
| error | 0.3 | 0.03 | 0.984 | -0.0017 | no |
| error + velocity | 0.0 | 0.01 | 0.258 | -0.0089 | no |
| error + velocity | 0.0 | 0.03 | 0.996 | -0.0071 | no |
| error + velocity | 0.1 | 0.01 | 0.219 | -0.0087 | no |
| error + velocity | 0.1 | 0.03 | 0.996 | -0.0069 | no |
| error + velocity | 0.3 | 0.01 | 0.156 | -0.0085 | no |
| error + velocity | 0.3 | 0.03 | 0.992 | -0.0068 | no |

The screen demonstrates a sharp dissociation. At `eta=0.03`, all structural
variants solve the task (worst-environment final success 98.4--99.6%). Raw
apical activity is almost completely soma-correlated (mean absolute
correlation `0.999`), whereas residualization removes most of that dependence
(raw-minus-residual correlation gap `0.880`). Surrounding-network activity
decodes residual sign at mean balanced accuracy `0.727`, and early residuals
strongly predict later activity changes (`r=0.860` on average). Plasticity
lesion eliminates learning gain in every run.

These positive signatures do **not** pass oral B. All 36 trajectories have a
negative causal-role sign-inversion index (range `-0.0089` to `-0.0011`), and
role-aligned residuals are more associated with instantaneous error magnitude
than with signed error velocity in every run. Acute removal of online control
after intact training drops success by only `1.03` points on average (maximum
`5.08`), so the desired-velocity interpretation is not supported. Across the
36 runs, the frozen per-run checks failed 36 times for sign inversion, 30 for
the strict residual-soma threshold, 6 for the fixed-vectorizer margin, and 5
for learning gain. The preregistered selector therefore returns
`failed_no_eligible_candidate`, and oral-B confirmation is prohibited.

This negative result prevents a misleading inference: successful local
learning, outcome decoding, and residual decorrelation do not imply the
cell-role-specific error-derivative signature observed by Harnett and
colleagues.

## Temporal-difference oral-B recovery (R1/R2)

The separately frozen recovery changes the structural target rather than
reinterpreting the failed screen. It learns a per-cell causal-role coefficient
from scalar antithetic cursor observations and multiplies that role by
within-episode performance innovation
`|e_(t-1)|-|e_t|`; `kappa=0`, so the branch tests plasticity rather than online
control. R1 uses only development task seeds 0--2. The complete two-rate
screen selects `eta=0.1`: all three seed-level ten-check gates pass, final
success is `98.05%`, `98.83%`, and `99.61%`, sign inversion is
`0.0651--0.0675`, and learned-role cosine is `0.945--0.973`. The lower
`eta=0.03` rate retains the mechanism checks but fails final success at
`36.72--46.09%`.

R2 then evaluates the selected rate once on untouched task seeds 10--15 and
model seeds 0--4, treating the six tasks--not the 30 models--as independent
units. Its main task-cluster results are:

| frozen R2 quantity | mean | one-sided 95% relevant bound | gate |
|:--|--:|--:|:--:|
| intact final success | 99.531% | lower 99.364% | pass |
| early-to-late gain | 90.451 points | lower 89.222 | pass |
| gap over fixed vectorizer | 99.531 points | lower 99.364 | pass |
| learned-role cosine | 0.9395 | lower 0.9336 | pass |
| absolute residual-soma correlation | 0.0609 | upper 0.0625 | pass |
| raw-minus-residual correlation | 0.9365 | lower 0.9350 | pass |
| surrounding-state balanced accuracy | 54.508% | lower 54.431% | **fail mean >=55%** |
| decoder-distance residual correlation | 0.1559 | lower 0.1520 | pass |
| residual outcome balanced accuracy | 47.325% | lower 43.067% | **fail** |
| residual-minus-soma outcome accuracy | -4.322 points | lower -9.101 | **fail** |
| causal-role sign inversion | 0.0712; 30/30 positive | lower 0.0703 | pass |
| velocity-minus-error correlation advantage | 0.6389 | lower 0.6376 | pass |
| early-residual/late-soma correlation | -0.0132 | lower -0.1786 | **fail** |

All 30 records are finite and pass pairing, neutral-predictor, cursor-cost,
role-learning, plasticity-lesion, oracle-ceiling, decorrelation, and
provenance checks. However, the complete frozen R2 gate fails seven aggregate
population-vectorization/longitudinal checks. It therefore does not establish
oral-B innovation-guided plasticity under the predeclared joint claim, does
not raise the reviewer score above 7, and does not unlock oral-A. The strongly
positive learning, plasticity-lesion, sign-inversion, and velocity-dominance
results remain useful mechanistic evidence, but they cannot be reported as a
passed Harnett-signature panel.

## Frozen endogenous mixed-traffic confirmation (MNIST, d3/w256, 15 epochs)

The 95-run C1 panel crossed five paired model seeds, soma and endogenous top-down traffic, two
independently generated projections per traffic family, four signal controls, and a no-traffic
panel. All runs came from clean revision `18c9c1c`. Test accuracy was evaluated once after
training; alignment and traffic diagnostics used a fixed 512-example training prefix. No
intermediate held-out metric or diagnostic entered the trajectories.

| traffic | rho | projection seed | signal | test acc (%) | cos(r,-g) | traffic R2 |
|:--------|----:|----------------:|:-------|-------------:|----------:|-----------:|
| none | 0.0 | 1234 | raw | 97.474 ± 0.122 | +0.443 | — |
| none | 0.0 | 1234 | norm-matched raw | 97.474 ± 0.122 | +0.443 | — |
| none | 0.0 | 1234 | innovation | 97.474 ± 0.122 | +0.443 | — |
| soma | 0.5 | 1234 | raw | 93.546 ± 0.508 | +0.037 | 1.000 |
| soma | 0.5 | 1234 | norm-matched raw | 94.614 ± 0.586 | -0.025 | 1.000 |
| soma | 0.5 | 1234 | innovation | 97.474 ± 0.091 | +0.268 | 1.000 |
| soma | 0.5 | 1234 | task-period predictor | 97.462 ± 0.161 | +0.074 | 1.000 |
| soma | 0.5 | 5678 | raw | 93.026 ± 2.046 | +0.025 | 1.000 |
| soma | 0.5 | 5678 | norm-matched raw | 94.210 ± 0.294 | +0.000 | 1.000 |
| soma | 0.5 | 5678 | innovation | 97.390 ± 0.137 | +0.267 | 1.000 |
| soma | 0.5 | 5678 | task-period predictor | 97.450 ± 0.050 | +0.067 | 1.000 |
| top-down | 0.2 | 1234 | raw | 79.674 ± 9.332 | +0.077 | 1.000 |
| top-down | 0.2 | 1234 | norm-matched raw | 93.258 ± 1.029 | -0.063 | 1.000 |
| top-down | 0.2 | 1234 | innovation | 94.778 ± 0.329 | +0.205 | 0.947 |
| top-down | 0.2 | 1234 | task-period predictor | 94.052 ± 0.220 | +0.105 | 0.905 |
| top-down | 0.2 | 5678 | raw | 76.828 ± 16.956 | +0.121 | 1.000 |
| top-down | 0.2 | 5678 | norm-matched raw | 91.240 ± 2.770 | -0.067 | 1.000 |
| top-down | 0.2 | 5678 | innovation | 94.196 ± 1.106 | +0.217 | 0.963 |
| top-down | 0.2 | 5678 | task-period predictor | 93.984 ± 0.578 | +0.126 | 0.922 |

The innovation-minus-matched gains were `+2.860` and `+3.180` points for the soma projections,
and `+1.520` and `+2.956` points for the top-down projections. Thus three of four realizations
passed all frozen per-realization criteria. The top-down seed-1234 realization passed traffic R2
(`0.947`) and alignment (`+0.205`) but missed the accuracy threshold. No-traffic innovation was
identical to both controls. **The full C1 confirmation gate fails** because it required every
realization to gain at least two points. This is a near miss with a precise failure mode, not a
passed result; the projection and all five finite trajectories remain in the record.

## FashionMNIST C1 recovery screen (validation only)

After the MNIST failure, a 27-run recovery protocol was frozen at clean revision `26407ca` before
any FashionMNIST result was generated. It used one model seed and a fixed 5,000-example stratified
training-only validation split (hash `c5f29347...ddf58`). The test set was never evaluated. All
diagnostics were computed once on the training prefix after training.

| traffic | rho | projection | matched raw val (%) | innovation val (%) | gain (points) | no-traffic gap | alignment | R2 | gate |
|:--------|----:|-----------:|--------------------:|-------------------:|--------------:|---------------:|----------:|---:|:----:|
| soma | 0.5 | 1234 | 76.44 | 87.50 | +11.06 | -0.50 | +0.543 | 1.000 | pass |
| soma | 0.5 | 5678 | 81.60 | 88.82 | +7.22 | +0.82 | +0.532 | 1.000 | pass |
| top-down | 0.2 | 1234 | 79.66 | 80.96 | +1.30 | -7.04 | +0.467 | 0.975 | fail |
| top-down | 0.2 | 5678 | 76.64 | 82.14 | +5.50 | -5.86 | +0.462 | 0.965 | fail |
| top-down | 0.5 | 1234 | 67.80 | 75.14 | +7.34 | -12.86 | +0.449 | 0.998 | fail |
| top-down | 0.5 | 5678 | 67.04 | 77.78 | +10.74 | -10.22 | +0.368 | 0.995 | fail |

The no-traffic raw, norm-matched, and innovation controls were identical at 88.00%. The selection
rule required both projections of a traffic condition to gain at least 2 points, remain within 3
points of no traffic, have R2 at least 0.5, and align at least 0.1. Soma traffic passed, but no
top-down level passed. **The recovery screen therefore fails and FashionMNIST test confirmation
is prohibited.** Innovation substantially mitigates strong contextual traffic, but a high
soma-conditioned R2 and positive gradient alignment do not guarantee that the remaining
innovation is purely instructional. This narrows the algorithmic claim and motivates an explicit
model of context, rather than treating every somatically unpredictable apical component as error.

## Legacy accuracy (pre-audit implementation)
| task                         | BP        | DFA   | SDIL          |
|------------------------------|-----------|-------|---------------|
| MNIST  d3 / d5 / d7 / d10    | 98.3      | 97.3 / 97.2 / 97.1 / 96.8 | 97.4 / 97.3 / 97.1 / 97.1 |
| FashionMNIST d3 / d5 / d7 / d10 | 88–89  | 86.3 / 87.1 / 86.2 / 86.9 | 88.4 / 87.6 / 87.3 / 88.1 |
| CIFAR-10 (no-BN residual) d5/10/20 | 44.2 / 44.8 / 45.5 | 40.6 / 39.9 / 37.4 | 42.4 / 42.6 / 42.4 |

SDIL matches DFA on easy MNIST and **beats DFA on FashionMNIST (+1–2 pts) and CIFAR (+2 to +5 pts)**.
On CIFAR the SDIL−DFA gap GROWS with depth (+1.8 → +2.7 → +5.0 at d5/10/20): DFA degrades with depth,
SDIL holds.

## Endogenous top-down traffic timescale screen (validation only)

This development screen used one model seed, a fixed 5,000-example stratified MNIST validation
split drawn only from training data, and never evaluated the test set. All 18 runs share validation
index hash `c4cec216...2e3d`, clean source revision `17bcd97`, and the same 15-epoch training
protocol. The grid crossed `eta_P in {0.002, 0.01, 0.05}`, neutral warmup steps in
`{0, 200, 1000}`, and endogenous top-down traffic scales in `{0.2, 0.5}`.

| eta_P | warmup steps | rho=0.2 last val (%) | rho=0.5 last val (%) | mean (%) | worst (%) |
|------:|-------------:|---------------------:|---------------------:|---------:|----------:|
| 0.002 | 0 | 91.50 | 77.24 | 84.37 | 77.24 |
| 0.002 | 200 | 91.02 | 89.10 | 90.06 | 89.10 |
| 0.002 | 1000 | 93.10 | 88.82 | 90.96 | 88.82 |
| 0.010 | 0 | 94.94 | 92.40 | 93.67 | 92.40 |
| 0.010 | 200 | 92.88 | 91.12 | 92.00 | 91.12 |
| 0.010 | 1000 | 95.04 | 91.06 | 93.05 | 91.06 |
| 0.050 | 0 | 96.52 | 91.40 | 93.96 | 91.40 |
| **0.050** | **200** | **94.20** | **95.26** | **94.73** | **94.20** |
| 0.050 | 1000 | 94.70 | 93.62 | 94.16 | 93.62 |

The selected development setting is `eta_P=0.05`, 200 warmup steps: it has the highest mean
last-epoch validation accuracy and the highest worst-traffic endpoint. Its final mean traffic R2 is
0.802 at rho=0.2 and 0.999 at rho=0.5. This reverses the initial assumption that `P` must be much
slower than forward learning: once teaching and traffic are separated by neutral periods, fast
tracking is beneficial, while a long warmup is not consistently useful. This is a frozen
validation choice for the multi-seed C1 experiment, not evidence that C1 has passed.

## Causal-calibration query screen (validation only)

This seed-0 development screen used CIFAR-10 d20/w64 for five epochs and a 5,000-example
training-only validation split (hash `8328b206...515b`). All eight runs came from clean revision
`1a22a99`; the test set was never evaluated. Gain retention is
`(candidate - DFA) / (K16/e4 - DFA)` at the final validation endpoint.

| method | directions K | every | val (%) | batch loss queries | query reduction | calibration work reduction | gain retention |
|:-------|-------------:|------:|--------:|-------------------:|----------------:|---------------------------:|---------------:|
| DFA | — | — | 36.66 | 0 | — | — | — |
| learned NP | 16 | 4 | 37.46 | 14,080 | 1.0x | 1.0x | 1.000 |
| **learned NP** | **1** | **4** | **38.08** | **880** | **16.0x** | **11.0x** | **1.775** |
| learned NP | 2 | 8 | 37.32 | 880 | 16.0x | 13.2x | 0.825 |
| learned NP | 4 | 16 | 35.98 | 880 | 16.0x | 14.7x | -0.850 |
| learned NP | 1 | 8 | 36.70 | 440 | 32.0x | 22.0x | 0.050 |
| learned NP | 1 | 16 | 36.52 | 220 | 64.0x | 44.0x | -0.175 |
| learned NP | 2 | 32 | 36.78 | 220 | 64.0x | 52.8x | 0.150 |

`K=1/every=4` was frozen for confirmation: it exceeded the C3 10x-query/90%-retention threshold in
validation and was the only candidate that improved on the reference endpoint. The ablation also
separates directions from update frequency: spending the same 880 queries as `K=2/every=8` or
`K=4/every=16` is worse, so frequent noisy regression targets are more useful than precise sparse
targets. GTX-1080 wall time remains approximately 15–23 seconds across the grid despite the 11x
calibration-work change, demonstrating why the Pareto audit needs hardware-independent work in
addition to wall time.

The frozen full-training/test confirmation used five paired seeds at clean revision `6689994`, with
no intermediate test evaluation or diagnostics:

| method | n | test acc (%) | batch loss queries | total training forward-eq examples | peak allocated (MiB) | wall (s) |
|:-------|--:|-------------:|-------------------:|-----------------------------------:|---------------------:|---------:|
| DFA | 5 | 37.106 ± 0.710 | 0 | 250,000 | 739.8 ± 0.0 | 17.5 ± 2.0 |
| K16/e4 | 5 | 38.490 ± 0.658 | 15,648 | 2,313,952 | 803.5 ± 0.0 | 22.6 ± 4.7 |
| **K1/e4** | **5** | **38.668 ± 0.589** | **978** | **437,632** | **739.8 ± 0.0** | **20.8 ± 0.8** |

The mean paired gain over DFA is 1.384 points for K16/e4 and 1.562 points for K1/e4, giving
112.9% retention. The selected protocol reduces logical perturbation queries 16x, calibration
forward-equivalent work 11x, and total training forward-equivalent work 5.3x. Its peak allocation
falls to the DFA level. **Gate C3 passes.** Wall time improves only modestly because fixed/data/GPU
under-utilization costs dominate this small network, so it is reported but not substituted for the
hardware-independent result.

## Legacy credit assignment / depth utility
Per-layer alignment cos(r_l, −∇_{h_l}L), early-third average, CIFAR no-BN residual:
| depth | DFA early-align | SDIL early-align |
|-------|-----------------|------------------|
| 5     | 0.55            | 0.83             |
| 10    | 0.36            | 0.86             |
| 20    | 0.25            | 0.88             |
| 30    | 0.19            | 0.87             |

DFA's teaching signal to early/deep layers collapses toward random (~0.05–0.19) as depth grows;
SDIL stays ~0.85 and is depth-invariant. This is the "does credit reach early layers" metric that
DFA fails and SDIL passes — the core advantage.

## C2 BP useful-depth screen (validation only)

The frozen candidate uses a two-level Telgarsky tent-map task, width-8 ReLU residual networks,
and three independently generated task/data seeds. Student initialization is fixed at seed 0 for
this shape screen. All 15 runs came from clean revision `76688af`, used stratified validation
subsets drawn only from generated training data, and never evaluated the independent test sets.

| depth | validation acc (%) | task-seed endpoints (%) | final-third lesion drops (points) |
|------:|-------------------:|:------------------------|:---------------------------------|
| 1 | 63.933 ± 10.272 | 75.25, 55.20, 61.35 | — |
| 2 | 60.883 ± 7.243 | 57.85, 69.15, 55.65 | +14.25, +24.75, +15.10 |
| 3 | 97.250 ± 1.097 | 96.30, 97.00, 98.45 | +58.80, +58.75, +60.15 |
| 4 | 96.883 ± 1.457 | 97.35, 98.05, 95.25 | +40.85, +35.05, +34.85 |
| 6 | 90.733 ± 7.743 | 96.35, 93.95, 81.90 | +40.05, +40.35, -2.10 |

For the preselected d1-to-d4 comparison, paired BP gains are `+22.10`, `+42.85`, and `+33.90`
points (mean `+32.95`). The corresponding final-third lesion drops average `36.92` points and are
positive for every task seed. **The BP useful-depth sub-gate passes.** The nonmonotonic curve is
also informative: d2 can optimize worse than d1, and d6 is less stable than d3/d4. The claim is
therefore about a verified useful-depth pair, not monotonic improvement from adding arbitrary
blocks.

## C2 local-rule panel (validation only)

The next frozen panel crossed BP, FA, DFA, and no-traffic SDIL at d1/d4 over three task seeds and
five student seeds (120 runs). SDIL used the C3-selected `K=1/every=4` calibration schedule. All
runs came from clean revision `51301f6`, evaluated validation only after training, and computed
alignment and lesion diagnostics on the fixed training prefix. The independent synthetic test
sets remain unevaluated.

| method | depth | validation acc (%) | d1-to-d4 gain | d4 lesion drop |
|:-------|------:|-------------------:|--------------:|---------------:|
| BP | 1 | 62.757 ± 8.111 | — | — |
| BP | 4 | 92.453 ± 8.834 | +29.697 | +30.157 |
| FA | 1 | 58.600 ± 4.839 | — | — |
| FA | 4 | 77.147 ± 16.082 | +18.547 | +16.853 |
| DFA | 1 | 55.517 ± 11.161 | — | — |
| DFA | 4 | 73.193 ± 13.987 | +17.677 | +22.650 |
| SDIL | 1 | 65.347 ± 6.516 | — | — |
| SDIL | 4 | 71.587 ± 15.307 | +6.240 | +12.787 |

SDIL recovers only `21.0%` of BP's depth gain, versus `62.5%` for FA and `59.5%` for DFA, and its
d4 endpoint trails the stronger comparator by `5.560` points. Its final-third lesion reduces
accuracy in 11/15 runs, so the model often uses the late block even though its learned credit is
poor. **The C2 local validation gate fails and no test confirmation is allowed.** Additional
validation scratch found that K=4 or K=16 perturbations, more frequent events, larger `eta_A`, and
normalized local deltas do not remove the basin variability. This points to a representational
limitation of the fixed linear `A_l c` vectorizer: on a compositional target, the correct hidden
direction depends on neural state as well as the two-dimensional output error.

## C2 bounded context-vectorizer recovery (validation only)

To test the identified representation bottleneck, the apical vectorizer was extended to
`A_l c + G_l vec(c outer tanh(h_top))`. The gated path is zero-initialized, trained by the same
local perturbation regression, and vanishes in neutral periods. After a task-seed-0 development
screen selected `eta_A=0.01`, K1/e4, an independent frozen panel used new task seeds 3--5 and five
student seeds, again crossing BP, FA, DFA, and SDIL at d1/d4. All 120 runs came from clean revision
`b18227f`; independent test sets were never evaluated.

| method | depth | validation acc (%) | d1-to-d4 gain | d4 lesion drop |
|:-------|------:|-------------------:|--------------:|---------------:|
| BP | 1 | 68.633 ± 5.351 | — | — |
| BP | 4 | 97.187 ± 1.532 | +28.553 | +34.170 |
| FA | 1 | 52.640 ± 4.528 | — | — |
| FA | 4 | 80.763 ± 20.592 | +28.123 | +20.313 |
| DFA | 1 | 56.313 ± 8.374 | — | — |
| DFA | 4 | 77.097 ± 17.667 | +20.783 | +25.393 |
| context-SDIL | 1 | 63.977 ± 8.636 | — | — |
| context-SDIL | 4 | 79.120 ± 22.765 | +15.143 | +27.150 |

Context conditioning raises SDIL's recovery of BP depth gain from the linear panel's `21.0%` to
`53.0%`, confirming that state dependence was a real bottleneck. It is still below the frozen
70% requirement, while FA recovers `98.5%`; context-SDIL's d4 mean is `1.643` points below FA.
Exactly 10/15 SDIL pairs gain with depth and 10/15 are hurt by the lesion, but one d4 run ends with
nonfinite loss and chance accuracy. **The independent recovery gate fails and C2 test remains
prohibited.** A richer vectorizer can improve mean credit without curing coupled A/W basin
instability; this is now a documented limitation rather than an oral-level scaling result.

## C2 direct node-perturbation causal diagnosis (validation only)

The failed context-vectorizer panel leaves two distinct explanations: the local eligibility/update
rule may be unable to solve the compositional task, or the learned apical vectorizer may fail to
amortize a causal direction that would work if it were available. To separate them, direct node
perturbation replaces every hidden teaching vector by an unamortized antithetic layerwise estimate
on every update. A task-seed-0 development screen selected `eta=0.03` and K16; the independent
panel then reused the exact untouched validation splits for task seeds 3--5 and crossed d1/d4 with
five model seeds. All 30 runs came from clean revision `e8d698e`; test sets remain unevaluated.

| method | depth | validation acc (%) | d1-to-d4 gain | d4 lesion drop |
|:-------|------:|-------------------:|--------------:|---------------:|
| BP | 1 | 68.633 ± 5.351 | — | — |
| BP | 4 | 97.187 ± 1.532 | +28.553 | +34.170 |
| context-SDIL | 1 | 63.977 ± 8.636 | — | — |
| context-SDIL | 4 | 79.120 ± 22.765 | +15.143 | +27.150 |
| direct NP | 1 | 65.703 ± 8.800 | — | — |
| direct NP | 4 | 96.150 ± 1.719 | +30.447 | +25.743 |

Direct NP recovers `106.6%` of BP's mean depth gain. All 15 paired runs improve with depth, 14/15
are harmed by the frozen final-block lesion, all final losses are finite, and its d4 endpoint beats
context-SDIL by `17.030` points and the stronger FA/DFA endpoint by `15.387` points. **The frozen
causal diagnosis passes: the local eligibility rule and a forward-only causal direction are
sufficient here; learning a reliable amortized apical vectorizer is the present bottleneck.**

This is a diagnosis and upper-cost baseline, not the proposed scalable method. At d4 it uses a mean
`82,560,000` per-example scalar loss evaluations and `43,757,037` forward-equivalent examples,
`68.4x` ordinary training work, with `108.2` seconds mean wall time. The next recovery must retain
the vectorizer and disclose how much of this query burden it avoids.

### Calibration-quality development screen (task seed 0 only)

The first post-diagnosis development screen kept the context vectorizer and concurrent A/W updates
fixed, replacing simultaneous K1/e4 calibration by layerwise K4/e4 or K16/e4. The frozen rule
selected the higher mean d4 endpoint, preferring K4 within one point; all three model seeds and
both depths are retained.

| directions | depth | validation acc (%) | depth gain | d4 lesion drop | d4 work / ordinary |
|-----------:|------:|-------------------:|-----------:|----------------:|-------------------:|
| K4 | 1 | 66.217 ± 5.264 | — | — | — |
| K4 | 4 | 65.633 ± 27.078 | -0.583 | +13.733 | 5.5x |
| K16 | 1 | 65.917 ± 4.753 | — | — | — |
| K16 | 4 | 65.567 ± 26.962 | -0.350 | +14.033 | 18.2x |

Only one of three depth pairs and one of three d4 lesions are positive for either candidate. K16
has one nonfinite d4 final loss and is ineligible; K4 is selected mechanically but is not advanced
to independent confirmation because its mean depth gain is negative. **Better per-event causal
targets do not by themselves cure the coupled A/W basin.** The next bounded development question
is temporal: calibrate A while W is held fixed, then open forward plasticity and maintain A with
the already selected low-query simultaneous schedule.

### Feedback-first timescale development screen (task seed 0 only)

The next frozen screen prefixed the original context-SDIL K1/e4 simultaneous joint phase with
`{0, 100, 400}` A-only layerwise K4 calibration minibatches. W, biases, and the output readout were
bitwise frozen during the prefix; its isolated RNG and restored loader state kept the subsequent
joint-phase randomness and minibatch order matched. Advancement required mean d4 validation of at
least 90%, at least 2/3 positive depth gains and lesions, a mean lesion drop of at least 2 points,
and all finite losses.

| A-only steps | depth | validation acc (%) | depth gain | d4 lesion drop | d4 work / ordinary |
|-------------:|------:|-------------------:|-----------:|----------------:|-------------------:|
| 0 | 1 | 66.733 ± 6.147 | — | — | — |
| 0 | 4 | 78.633 ± 24.866 | +11.900 | +27.367 | 1.8x |
| 100 | 1 | 63.850 ± 1.576 | — | — | — |
| 100 | 4 | 81.867 ± 8.779 | +18.017 | +14.533 | 2.5x |
| 400 | 1 | 64.300 ± 3.695 | — | — | — |
| 400 | 4 | 82.450 ± 14.226 | +18.150 | +25.367 | 4.7x |

Both nonzero prefixes produce positive gains and lesions in 3/3 seeds and substantially reduce the
zero-prefix variance, so timescale separation addresses part of the basin problem. Neither reaches
the frozen 90% d4 threshold; **no prefix is eligible and task seeds 6--8 remain untouched.** Final
teaching directions are often strongly aligned even in mediocre runs, pointing next to regression
gain/tracking over the moving trajectory rather than simply adding vectorizer capacity.

## Theory package and executable predictions

`THEORY.md` proves the exact linearized variance of simultaneous Rademacher perturbation,
including its cross-layer term; bounds centered finite-sigma bias; gives a smooth-loss descent
condition that separates angle, gain, and curvature; proves the neutral-period innovation/SNR
result and task-fit absorption failure; and tabulates query/work/memory assumptions across the
main comparison set.

The deterministic numerical verifier covers every frozen C5 axis. Across depth 2/4/8, width 8/32,
and K1/4/16, empirical perturbation MSE is within 1% of the exact prediction in the reported cases.
The finite-difference bias has log-log slope `2.000000` in sigma. A quadratic example changes from
descent to ascent on opposite sides of the predicted learning-rate threshold. Neutral predictor
residual power matches `(1-eta_P)^(2t)` across three rates and four update counts. Finally,
neutral residualization raises the teaching squared cosine from `0.7492` to `0.9656`, whereas
task-period fitting lowers it to `0.5395` by removing soma-correlated teaching. **The frozen C5
theory package and numerical checks pass.**

### Normalized-regression development screen (task seed 0 only)

The final bounded C2 recovery divided each context-vectorizer regression update by the complete
feature power of `[c, c outer tanh(h_top)]`. It fixed the feedback-first prefix at 100 layerwise-K4
steps, retained simultaneous K1/e4 joint calibration, and compared only `eta_A in {0.01, 0.05}`.

| NLMS eta_A | depth | validation acc (%) | depth gain | d4 lesion drop | d4 work / ordinary |
|-----------:|------:|-------------------:|-----------:|----------------:|-------------------:|
| 0.01 | 1 | 70.717 ± 2.759 | — | — | — |
| 0.01 | 4 | 75.150 ± 23.011 | +4.433 | +26.000 | 2.5x |
| 0.05 | 1 | 73.000 ± 2.783 | — | — | — |
| 0.05 | 4 | 73.350 ± 23.008 | +0.350 | +19.533 | 2.5x |

Both settings have only 2/3 positive depth gains and lesions, and neither approaches the frozen
90% d4 threshold. Small per-example feature norms amplify perturbation noise despite finite final
losses. **No NLMS candidate is eligible; further tent-map tuning is closed and task seeds 6--8
remain untouched.** Direct NP still establishes that causal local updates can solve the task, but
the current low-query amortized vectorizer cannot reliably track them.

## Paper-faithful non-backprop baselines

`PETITE` in the initial request is treated as **PEPITA**. Implementations and hyperparameters were
checked against the [FA paper](https://www.nature.com/articles/ncomms13276),
[PEPITA paper](https://proceedings.mlr.press/v162/dellaferrera22a.html) and
[author code](https://github.com/GiorgiaD/PEPITA),
[Forward-Forward paper](https://www.cs.toronto.edu/~hinton/absps/FFXfinal.pdf) and
[reference implementation](https://github.com/mpezeshki/pytorch_forward_forward), and the
[EP paper](https://www.frontiersin.org/journals/computational-neuroscience/articles/10.3389/fncom.2017.00024/full)
and [author code](https://github.com/bscellier/Towards-a-Biologically-Plausible-Backprop).

Native protocol results are not an equal-compute comparison:

| method | architecture | budget | n | last test acc (%) | wall time (s) |
|:-------|:-------------|:-------|--:|------------------:|--------------:|
| PEPITA | d3/w256 | 60 epochs | 5 | 91.094 ± 0.214 | 89.2 ± 3.5 |
| Forward-Forward | d3/w256 | 15 epochs/layer | 5 | 93.558 ± 0.232 | 68.2 ± 0.8 |
| EP | d1/w500 | 25 epochs | 5 | 96.926 ± 0.238 | 800.5 ± 53.3 |
| EP | d2/w500 | 60 epochs | 5 | 89.526 ± 4.461 | 17530.4 ± 613.6 |

PEPITA uses its two forward presentations, He-uniform initialization, shared 10% dropout mask, and
an explicit deep-network learning rate of 0.001. Forward-Forward trains greedy local goodness layers
and has no classifier readout. EP uses the original hard-sigmoid energy dynamics, random beta sign,
and persistent training particles on the fixed first 50k examples. Its published d1 schedule uses
20 free steps, 4 nudged steps, `beta=0.5`, and layer rates `[0.1, 0.05]`; d2 uses 150 free steps,
6 nudged steps, `beta=1`, and rates `[0.4, 0.1, 0.01]`. Evaluation starts fresh zero particles and
runs the full free relaxation. The shallow EP protocol is the strongest native baseline here. The
canonical deep protocol is much more expensive and highly initialization-sensitive in these runs.

### EP exact-architecture comparison

All methods below use the same first 50k MNIST examples and the same epoch budget within each exact
forward architecture: 25 epochs for d1/w500 (397,510 parameters) and 60 for d2/w500 (648,010
parameters). EP retains its native raw-pixel hard-sigmoid energy protocol; BP/DFA/SDIL retain the
shared z-score/tanh feedforward protocol.

| depth | method | n | last test acc (%) | best test acc (%) | wall time (s) |
|:------|:-------|--:|------------------:|------------------:|--------------:|
| d1 | BP | 5 | 98.240 ± 0.073 | 98.272 ± 0.080 | 15.0 ± 0.5 |
| d1 | DFA | 5 | 97.662 ± 0.078 | 97.700 ± 0.074 | 10.6 ± 1.6 |
| d1 | EP | 5 | 96.926 ± 0.238 | 97.198 ± 0.147 | 800.5 ± 53.3 |
| d1 | SDIL | 5 | 97.596 ± 0.089 | 97.638 ± 0.075 | 15.5 ± 0.2 |
| d2 | BP | 5 | 98.288 ± 0.030 | 98.326 ± 0.036 | 45.1 ± 0.8 |
| d2 | DFA | 5 | 97.590 ± 0.046 | 97.622 ± 0.036 | 34.6 ± 2.8 |
| d2 | EP | 5 | 89.526 ± 4.461 | 90.028 ± 4.272 | 17530.4 ± 613.6 |
| d2 | SDIL | 5 | 97.516 ± 0.067 | 97.562 ± 0.058 | 58.5 ± 4.0 |

The paired SDIL−EP last-epoch gap is `0.670 ± 0.253` points at d1 and `7.990 ± 4.459` at d2;
SDIL's geometric-mean wall-time speedup is 51.7x and 299.8x, respectively. The five d2 EP outcomes
are 97.46%, 87.56%, 88.07%, 87.77%, and 86.77%. They are finite completed trajectories, not crashes:
one seed reaches the shallow-level basin while four do not. This is evidence of initialization
sensitivity under the reproduced canonical schedule, not evidence that EP is intrinsically
unstable across implementations. Reproducing the basin split in the original Theano revision or a
strong modern EP variant remains necessary. DFA is also strong on easy MNIST, so the scaling claim
comes from the five-depth CIFAR panel; this comparison establishes that SDIL need not trade away
accuracy to obtain a large cost advantage over canonical EP.

### Native author-code CIFAR-10 baselines

These are executable-fidelity reproductions under the authors' architectures
and schedules, not equal-compute comparisons with SDIL:

| method | reproduced seed | primary test (%) | validation-selected test (%) | test-selected test (%) | published (%) | audited wall (s) |
|:--|--:|--:|--:|--:|--:|--:|
| BurstCCN | 0 | 80.070 | 80.100 | 80.250 | 82.97 +/- 0.21 | 15451.3 |
| Dual Prop | 1988 | 92.460 | 92.460 | n/a | 92.41 +/- 0.07 | 23119.8 |

BurstCCN's primary value is the final epoch and its best-test value is
test-selected because native code evaluates test every epoch. Dual Prop
restores the best-validation checkpoint and evaluates test once, so primary
and validation-selected values coincide. Both strict records include source,
environment, dataset, artifact, selection, and wall-definition audits. Dual
Prop reproduces its published accuracy almost exactly, but uses VGG16 with 16
nudged inference passes and about 6.42 hours of author-measured compute on a
GTX 1080.

### Frozen standard-ResNet development funnel

The prospective Oral-A funnel used a 45k/5k training-only CIFAR-10 split; no
test metric was evaluated. The exact-BP ResNet-20 reference passed A1 at
`91.62%` validation accuracy. In the 10k-example, 20-epoch A2b screen, selected
channel-gated SDIL reached `41.98%` with mean teaching alignment `0.1021`,
versus `37.16%` for tuned DFA and `74.94%` for BP. This was a positive
development result, not confirmation.

The full 200-epoch A3 gate failed:

| method | final val acc (%) | finite | early-third alignment | estimated MACs |
|:--|--:|:--:|--:|--:|
| BP | 91.62 | yes | n/a | 1.095e15 |
| DFA | 33.06 | yes | 0.000473 | 7.469e14 |
| SDIL | 10.00 | no | NaN | 9.165e14 |

SDIL reached `35.26%` at epoch 20, fell to `22.82%` at epoch 80, and became
nonfinite at epoch 89. It passed only the BP-reference and MAC checks; it failed
the within-5-point, DFA-advantage, alignment, and all-finite checks. The failure
is specifically for the frozen recipe selected under the short cosine screen
and transferred to the long step schedule. It is not evidence that every
possible SDIL optimizer must diverge, but it does falsify the preregistered
standard-ResNet scaling claim. A4 was not opened and confirmation seeds 10--14
were not touched.

The executable post-failure diagnosis finds a specific precursor rather than
only a bad endpoint. Before nonfiniteness, the apical prediction--target cosine
never exceeds `8.51e-5` in magnitude, while calibration MSE differs from target
power by at most `6.96e-8` relatively. Target power grows `2560.7x` from epoch
1 to 80 and `2.13e9x` by epoch 87. These instantaneous metrics show that
stochastic unit targets dominate the regression signal, but the later v2
experiment also establishes an important interpretation limit: near-zero
single-event target cosine does not by itself prove zero conditional learning.

The separately frozen post-failure v2 screen perturbs only the two basis fields
expressible by the channel-gated vectorizer. At identical query count and 400
frozen-forward calibration minibatches, selected `eta_A=0.01` gives:

| estimator | calibration metric space | early-third alignment | all-layer alignment |
|:--|:--|--:|--:|
| unit targets | full hidden field | 0.001105 | 0.011664 |
| channel subspace | channel-basis moments | 0.007209 | 0.052740 |

Thus representable-subspace perturbation improves early/all-layer
exact-gradient alignment by 6.5x/4.5x at matched causal-query count.
However, it misses the frozen early alignment threshold (`0.007209 < 0.01`)
and the required absolute advantage (`0.006104 < 0.01`). V2-1 therefore fails,
the full v2 ResNet run is not launched, and confirmation remains untouched.
The useful conclusion is narrower: spatial projection was a real variance
problem, but removing it does not yet deliver sufficient early-layer causal
credit at standard depth.

The two target-power logs are not directly comparable: unit targets are scored
per full hidden field, whereas structured targets are scored per channel-basis
moment. No empirical 1133x variance-reduction claim is made from their raw
ratio.

A no-training oracle audit then separates feedback capacity from estimator
efficiency on disjoint 32-example BatchNorm batches. Early-third alignment is
`0.05494` when each example/channel receives unconstrained optimal coefficients
for the existing `[1,tanh(h)]` spatial fields, but falls to `0.02397` when those
coefficients must be predicted by the actual output-error-linear A/G family.
The learned structured estimator reaches `0.00721`, about 30% of that
cross-validated family oracle. Thus the current basis is not incapable of
crossing the v2 threshold, but causal regression leaves a substantial gap and
the output-error-only coefficient map itself discards over half of the spatial
oracle's directional alignment.

Adding fixed local-average and channel-mean somatic fields does not help
(`0.02246` early-third cross-validated alignment). An independent spatial
template reaches `0.04797`, but its prediction/target energy ratio is `0.458`
despite low cosine, a warning that the high-capacity map amplifies
out-of-sample error rather than solving credit assignment cleanly. These are
post-failure oracle diagnostics, not trainable-method results. They rule out a
naive basis expansion and point toward both better causal sample efficiency
and a more informative hierarchical/high-level feedback context.

V3 tests whether the remaining regression gap comes specifically from
estimating per-example coefficients before fitting A/G. It perturbs random A/G
matrices directly, so each induced hidden intervention already contains the
output-error context and the antithetic scalar estimates the exact matrix
statistic needed by the vectorizer delta rule. Mechanics are strong: at batch
128 the frozen synthetic one-query MSE is `0.03381x` the coefficient estimator,
and exact no-BN/BN JVP errors are below `2e-10`.

That gain does not transfer to early ResNet credit. All four frozen-forward
records are finite and the selected rate is again `eta_A=0.01`:

| estimator | early-third alignment | all-layer alignment |
|:--|--:|--:|
| channel-subspace V2 reference | 0.007209 | 0.052740 |
| vectorizer-subspace V3 | 0.007139 | 0.062579 |

The common all-layer endpoint improves, but the early endpoint is unchanged
and misses three frozen advancement checks. Higher rates are worse. Thus the
coefficient-regression stage was not the dominant early-layer limitation under
the real causal signal. V3-2 is not launched. The result redirects development
toward informative hierarchical/high-level feedback context or a mechanism
that addresses remaining cross-layer/parameter-space noise; it does not
justify another rate or warmup sweep.

The next oracle follows the actual residual DAG instead of adding global
context. On separate 128-example BatchNorm graphs, a local map from the exact
child error fields to each of the first six hidden populations gives:

| held-out feedback family | early-third alignment |
|:--|--:|
| direct output, channel gated | 0.031123 |
| plus ordinary downstream activation context | 0.032069 |
| hierarchical 1x1 | 0.440525 |
| hierarchical 1x1 + child ReLU gate | 0.505210 |
| hierarchical 3x3 | 0.819917 |
| hierarchical 3x3 + child ReLU gate | 0.999767 |

The nearly exact final row is an oracle reconstruction of the local transpose
convolution/ReLU computation, not a non-backprop learning result. Its value is
diagnostic: spatially aligned child error fields contain the missing early
credit, whereas ordinary downstream activations do not. A credible next method
must learn these hierarchical feedback maps without copying forward weights
and must compare against fixed/random hierarchical FA and BurstCCN; merely
adding recursive feedback is established prior art.

### Matched convolutional hierarchical-FA baseline

The HFA implementation was mechanically audited and its three-run short screen
was frozen before any HFA accuracy endpoint was observed. It mirrors the real
option-A residual DAG with independent random 3x3 feedback tensors and local
ReLU/BatchNorm Jacobians. An audit-only symmetric copy reproduces exact hidden
credit to `4.97e-16` relative error and the BP parameter update to `1.49e-8`
absolute error; actual runs never copy a forward tensor.

On the identical 10k-example, 20-epoch ResNet-20 A2b setting:

| hidden LR | validation accuracy | early-third alignment | estimated MACs | causal queries |
|--:|--:|--:|--:|--:|
| 0.01 | 39.64% | 0.004572 | 2.4242e13 | 0 |
| 0.03 | 41.58% | 0.011338 | 2.4242e13 | 0 |
| 0.10 | **43.52%** | **0.040406** | 2.4242e13 | 0 |

All three trajectories are finite, use source commit `f37644e`, allocate
1.731 GB peak GPU memory, take 89.3--89.6 seconds on one GTX 1080, and never
evaluate test. Selected HFA improves on matched tuned DFA (`37.16%`) by 6.36
points and failed-v1 SDIL (`41.98%`) by 1.54 points, but remains 31.42 points
below BP (`74.94%`). It misses the frozen 50% full-run threshold by 6.48
points, so HFA-S2 is closed without further tuning. The result confirms that
spatial hierarchy is useful but that fixed random hierarchy alone does not
solve standard-depth credit.

### Hierarchical task-causal feedback calibration

V4 perturbs all 267,904 hierarchical feedback parameters in one simultaneous
parameter-space direction and uses two antithetic task-loss queries to estimate
the local Q/R delta-rule moments. Its mechanics are exact, but the frozen
400-event causal-capture screen is negative:

| feedback rule | early alignment | all-layer alignment | max norm ratio | finite |
|:--|--:|--:|--:|:--:|
| fixed HFA | -0.000263 | 0.011279 | 1.06 | yes |
| V4, etaA 0.1 | -0.000180 | 0.017336 | 1.05 | yes |
| V4, etaA 1.0 | **0.000348** | 0.007922 | 58.48 | yes |
| V4, etaA 10.0 | NaN | NaN | NaN | no |

The selector chooses etaA 1.0 on early alignment among finite candidates, but
it misses early `0.05`, all-layer `0.10`, matched early gain `+0.04`, and the
norm-range gate. The high-rate record also makes the all-record finite check
fail. Even the stable etaA 0.1 candidate has mean parameter prediction/target
cosine only `0.000668` after 400 events.

Every learned record consumes 800 logical batch-loss queries and an estimated
`1.2254e13` MACs before any forward-weight training. Thus V4-2 accuracy and
V4-3 full validation remain closed. The supported diagnosis is that spatial
hierarchy supplies the right representation, but a single global task scalar
is too noisy to calibrate this 267,904-parameter path at the frozen budget.
The next comparator must change the information source rather than reopen the
rate/query grid, for example local response-based learned FA or weight
mirroring. No test endpoint was evaluated.

### Normalized local response mirror capture

The inherited normalized response-mirror baseline changes exactly that
information source. A Gaussian parent probe passes through the local forward
synapses, while a separate Q/R update consumes only parent/child activities.
The frozen CIFAR-prefix WM-1 screen gives:

| method/rate | early alignment | all-layer alignment | feedback/forward cosine | norm range |
|:--|--:|--:|--:|:--|
| fixed HFA | -0.000263 | 0.011279 | 0.001614 | [0.959, 1.055] |
| WM 0.03 | 0.075263 | 0.235197 | 0.625186 | [0.697, 0.787] |
| WM 0.10 | **0.446141** | **0.542159** | **0.915480** | **[0.889, 1.157]** |
| WM 0.30 | 0.112177 | 0.228114 | 0.853343 | [0.999, 1.697] |

All five frozen checks pass at selected `eta_M=0.1`. Twenty batch-1 local
observations cost `1.6305e9` MACs and consume zero task-loss queries, only
`0.0067%` of the fixed-HFA short screen's `2.4242e13` MACs. This sharply
separates the previous failures: the hierarchical feedback family is usable
and cheap to identify from vector-valued local responses, whereas 800 global
task-scalar queries did not calibrate it. WM-2 therefore opens. The result is
credited entirely to an inherited weight-estimation baseline; it cannot raise
the SDIL novelty score by itself.

The conditional WM-2 task screen is much stronger than fixed HFA but narrowly
fails its frozen advancement gate:

| method | validation accuracy | early alignment | all-layer alignment | estimated MACs |
|:--|--:|--:|--:|--:|
| WM, hidden LR 0.03 | 62.68% | 0.827404 | 0.825811 | 2.4252e13 |
| WM, hidden LR 0.10 | **64.04%** | **0.939256** | **0.916222** | 2.4252e13 |
| matched BP | 74.94% | n/a | n/a | 2.4331e13 |

Both WM runs are finite, use zero task-loss queries for feedback learning, and
cost `0.9968x` matched BP MACs. Selected WM improves fixed HFA by 20.52 points,
but misses 65% by 0.96 points and the within-10-point BP window by 0.90 points.
Thus four check families pass--finite, alignment, query, and cost--while both
accuracy checks fail. WM-3 is closed without extra mirror tuning.

This is an informative optimization negative: a hidden teaching cosine of
`0.939` and feedback/forward cosine `0.936` still leave a 10.90-point short-
horizon accuracy gap. Alignment is necessary here but not sufficient; local
gain errors and the remaining compounding angular errors can materially change
the trajectory. It would be misleading to present the capture result alone as
BP-equivalent learning.

### Residual response-mirror capture

Residual response mirroring changes the local baseline's update from averaging
a fresh noisy weight estimate to predicting each child response and updating
from the local response residual. At exact symmetry each stochastic update is
zero. The frozen RRM-1 screen gives:

| method/rate | early alignment | all-layer alignment | feedback/forward cosine | norm range |
|:--|--:|--:|--:|:--|
| fixed HFA | -0.000263 | 0.011279 | 0.001614 | [0.959, 1.055] |
| RRM 0.03 | 0.075016 | 0.235001 | 0.622965 | [0.695, 0.792] |
| RRM 0.10 | **0.665070** | **0.730253** | **0.953680** | **[0.884, 1.018]** |
| RRM 0.30 | 0.003489 | 0.053744 | 0.740396 | [0.999, 30.132] |

Selected `eta_M=0.1` passes every frozen capture check after 20 batch-1 local
observations. It consumes zero task-loss queries and `2.4458e9` MACs. Compared
with the selected normalized mirror record, it gains 0.219 early-alignment and
0.188 all-layer-alignment points while keeping feedback norms controlled. The
failed high-rate record shows that the residual rule is not rate-insensitive:
at 0.3 the maximum norm ratio reaches 30.13 and alignment collapses.

RRM-2 is opened using the already frozen rate and cadence. This is a strong
inherited learned-alignment baseline, not Harnett-specific evidence, so it does
not raise the SDIL paper score by itself.

The frozen RRM-2 short task gate subsequently passes:

| method | validation accuracy | early alignment | all-layer alignment | estimated MACs |
|:--|--:|--:|--:|--:|
| RRM, hidden LR 0.03 | 62.32% | 0.999604 | 0.999692 | 2.4257e13 |
| RRM, hidden LR 0.10 | **65.08%** | **0.999128** | **0.999377** | 2.4257e13 |
| matched BP | 74.94% | n/a | n/a | 2.4331e13 |

The selected run clears 65% by 0.08 points and the within-10-point BP gate by
0.14 points. It is finite, uses zero task-loss queries, costs `0.9969x` matched
BP MACs, and retains feedback/forward cosine `0.999902`. All frozen checks pass,
so the single RRM-3 full validation run opens. The 9.86-point gap despite nearly
perfect instantaneous alignment is retained as a negative diagnostic rather
than treating cosine as a proxy for optimization equivalence.

The conditional RRM-3 full run then fails. It ends at 10.00% validation
accuracy with NaN validation loss, despite endpoint early/all-layer alignment
`0.877435/0.848738`, feedback/forward cosine `0.999998`, and a tightly
controlled `[1.000157,1.002447]` feedback/forward norm range. Training loss
rises from `2.6107` to `1.5808e16` at epoch 92; the two learning-rate drops
reduce the reported epoch mean to `8.9503e13` without recovering learning.
It uses zero task-loss queries and `0.9969x` BP MACs, so neither cost nor final
alignment explains away the failure. The frozen RRM branch is closed and no
test endpoint is touched.

This is direct evidence that endpoint alignment can be a false certificate for
an intermittent tracker. If task weights move by `U_m` between mirror events,
the ideal tracking error follows `E_(m+1)=(1-eta_M)E_m-U_m`; once task motion
slows, the final error can vanish even after the high-rate trajectory has
already destabilized the model. This baseline negative does not lower or raise
the SDIL score because the separate KP substrate remains under its own frozen
gate. `results/figs/figureS_tracking_failure.{pdf,png}` renders this mismatch
directly from the frozen record and gate.

### Modified Kolen--Pollack reciprocal baseline

The independently implemented Akrout et al. reciprocal-plasticity baseline
uses the same local parent activity and child teaching field at corresponding
forward and feedback synapses, but each path recomputes its own correlation.
It never reads or copies a weight or weight-update tensor. Mechanics checks
give exactly zero direction, post-observation independence, and symmetric-
limit update errors.

Its sole frozen 20-epoch full-development record passes every KP-1 gate:

| method | validation accuracy | early alignment | train-period feedback cosine | estimated MACs |
|:--|--:|--:|--:|--:|
| KP | **82.66%** | 0.885583 | 0.854594 (epochs 11--20) | 1.4519e14 |
| BP at epoch 20 | 81.02% | n/a | exact by construction | 1.0949e14 |

KP's final feedback/forward cosine is 0.901034. It uses zero task-loss queries,
costs `1.3261x` matched BP after explicitly charging the second reciprocal
correlation, and remains finite throughout the constant-LR screen. The result
opens the frozen KP-2 full baseline. It is entirely prior-art baseline evidence
and does not change the SDIL reviewer score.

The sole frozen 200-epoch KP-2 record also passes every gate:

| method | validation accuracy | early alignment | epoch-151--200 feedback cosine | estimated MACs |
|:--|--:|--:|--:|--:|
| KP | **91.26%** | 0.999397 | 0.999663 | 1.4519e15 |
| matched BP | 91.62% | n/a | exact by construction | 1.0949e15 |

KP-2 ends with finite validation loss `0.429013`, final feedback/forward cosine
`0.999663`, zero task-loss queries, and `1.3261x` BP MACs. Peak allocated
memory is 2.163 GB and audited wall time is 5579.7 s on a GTX 1080. This
establishes a stable, near-BP standard-ResNet substrate and opens the frozen
mixed-traffic screen. It remains prior-art evidence and therefore leaves the
reviewer score at 5/10 until innovation itself wins the controlled ablation.

The frozen MT-1 load-bearing screen fails decisively. Raw, norm-matched raw,
and innovation all become nonfinite during epoch 1 and end at exactly 10.00%
validation accuracy with NaN loss. They share clean source revision `412314e`,
the same data order, initialization, four-times-RMS traffic, neutral predictor
schedule, and `1.3271x` BP affine-MAC cost.

The failure is not explained by the pre-endpoint mechanical invariants: the
maximum initial traffic-ratio error is `4.77e-7`, the maximum post-warmup
traffic-residual ratio is `0.139942` versus the frozen `0.25` ceiling, and all
conditions use zero task-loss queries. Nevertheless all finite, accuracy,
alignment, feedback-tracking, and usable matched-norm checks fail. MT-2 and the
five-seed test confirmation remain untouched. This closes the controlled
standard-ResNet accept recovery and leaves the reviewer estimate at 5/10.

The clean training-only failure-localization records at revision `e996231`
evaluate neither validation nor test data. They identify the first
training-active nonfinite tensors as stem `W[0]` and its momentum at step 23
for raw, step 69 for norm-matched raw, and step 74 for innovation. Predictor
slopes, feedback weights, and feedback momenta remain finite when each
diagnostic stops. At innovation step 1, loss is
2.91 and used-signal RMS is 0.00477; by step 16 they reach `4.14e5` and 1.76.
Thus norm matching and subtraction substantially delay, but do not stabilize,
the forward local feedback mode. The linearized update in `THEORY.md` exposes
the multiplicative term `D W C` and proves that any positive effective scalar
mode has momentum transition spectral radius above one.

The separately frozen training-only S0 screen then tests whether a one-sided
neutral-regression upper margin is sufficient. None of
`{0.001,0.003,0.01,0.03}` is eligible. The two smaller margins produce
nonfinite BatchNorm running variances and `1e17`-scale weights. The two larger
margins keep tensors finite for 352 steps but produce maximum losses of
`1.40e5`/`4.97e6` and weights of `8.83e6`/`1.19e8`, violating the predeclared
loss, signal-ratio, weight, and momentum envelopes. Every candidate preserves
the four-to-one intervention, passes its one-sided residual-soma certificate,
freezes the predictor, restores loader state, and evaluates no validation or
test example. Sign-only dissipativity is therefore closed before endpoint
access; no margin is selected and the score remains 5/10.

The new dynamic neutral-projection branch does not weaken those negative stop
rules. Instead of another fixed margin, it uses a fast paired instruction-off
soma/apical observation to remove only the current affine component of the
*neutral* residual. The slow 64-example predictor remains frozen and the fast
fit sees zero task-instruction observations. The frozen D1 training-only gate
passes all 14 checks for 352 steps: maximum loss is `2.9281`, final-32 mean
loss is `1.6293`, maximum forward/feedback weights are `1.181/0.833`, and all
optimizer and BatchNorm states remain finite. The uncontrolled neutral
residual grows to `0.005833` of traffic RMS with a correction slope as large
as `0.02968`; projection holds the residual ratio and soma slope to
`3.03e-8` and `1.52e-8`. Thus the controller is active rather than benefiting
from an accidentally exact initialization. D1 evaluates neither validation
nor test and cannot change the paper score.

The subsequently frozen D2 short validation endpoint also passes every gate:

| method | validation accuracy | early alignment | epoch-11--20 feedback cosine | estimated MACs |
|:--|--:|--:|--:|--:|
| dynamic neutral-projection innovation | **83.58%** | 0.883830 | 0.860594 | 1.4519e14 |
| clean KP | 82.66% | 0.885583 | 0.854594 | 1.4519e14 |
| frozen MT-1 raw / matched | 10.00% / 10.00% | nonfinite | nonfinite | 1.4530e14 each |

D2 is finite for all 20 epochs and ends with validation loss `0.511322` and
feedback/forward cosine `0.904056`. The unprojected neutral/traffic ratio
reaches `0.009561`, while the projected remainder stays below `3.04e-8` with
maximum soma slope `1.44e-8`; used-signal/instruction RMS differs by at most
`4.67e-10`. It uses zero task-loss queries, `1.3261x` BP MACs, 4.070e12
separately reported elementwise operations, one paired neutral observation per
ordinary example, 2.165 GB peak allocated memory, one final validation
evaluation, and no test evaluation. This is the first stable load-bearing
innovation result on the standard ResNet substrate, but it is still a
one-seed short validation record. Per the frozen scoring rule it leaves the
reviewer score at 5/10 and opens only the predeclared D3 full validation run.

The predeclared D3 full validation record then passes all 19 frozen gates:

| method | validation accuracy | early alignment | epoch-151--200 feedback cosine | MAC ratio to BP |
|:--|--:|--:|--:|--:|
| dynamic neutral-projection innovation | **91.18%** | 0.999353 | 0.999663 | 1.3261x |
| clean KP | 91.26% | 0.9994 | 0.9997 | 1.326x |
| matched BP | 91.62% | exact | exact | 1.000x |

D3 remains finite for 200 epochs and ends with validation loss `0.425251`.
The maximum unprojected neutral/traffic ratio is `0.008474`, whereas the
projected remainder and absolute soma slope stay below `3.04e-8` and
`2.13e-8`; used-signal/instruction RMS differs by at most `6.73e-10`.  It uses
zero task-loss queries, 1.452e15 MACs, 4.070e13 separately reported elementwise
operations, one neutral observation per ordinary example, 2.165 GB peak
allocated memory, one final validation evaluation, and zero test evaluations.
The source revision is `d945c42`, and the gate was frozen before the endpoint.
This is the first full near-BP standard-ResNet SDIL validation result and raises
the strict reviewer score from 5 to 6.  At the D3 audit, independent five-seed
paired test confirmation remained open rather than assumed.

The independently frozen D4 paired test confirmation subsequently passes every
gate at source revision `0008f2c`.  Each of seeds 10--14 trains clean KP and
dynamic innovation from scratch on all 50,000 CIFAR-10 training examples for
200 epochs, evaluates no validation example, and evaluates the 10,000-example
test set exactly once at the endpoint:

| seed | clean-KP test accuracy | dynamic test accuracy | clean minus dynamic |
|--:|--:|--:|--:|
| 10 | 91.58% | 91.52% | +0.06 points |
| 11 | 91.55% | 91.58% | -0.03 points |
| 12 | 90.87% | 91.65% | -0.78 points |
| 13 | 91.50% | 91.51% | -0.01 points |
| 14 | 91.44% | 91.66% | -0.22 points |
| **mean** | **91.388%** | **91.584%** | **-0.196 points** |

The one-sided 95% upper confidence bound on the paired clean-minus-dynamic
deficit is `0.1306` points, far inside the frozen 2.5-point bound.  All five
dynamic seeds exceed 87%, all five are within two points of paired clean KP,
and mean early-third alignment is `0.999687`.  All ten trajectories are
finite; the dynamic runs also pass feedback tracking, neutral projection,
zero instruction leakage, zero task-loss query, `<=1.34x` BP MAC, `<=2.5 GiB`
peak-memory, authorized-hardware, source-provenance, split, and evaluation
checks.  D4 therefore raises the strict reviewer score from 6 to 7 and
establishes the accept bar.  It is a ResNet-20 robustness/noninferiority result,
not evidence of positive utility from ResNet-20 to ResNet-56 and not evidence
for the previously failed desired-velocity or online-control interpretation.
`results/figs/figure4_resnet_confirmation.{pdf,png}` renders the paired
endpoint, layerwise raw-versus-innovation direction, reciprocal-credit
trajectory, and resource audit directly from these ten records. Its strict
source-hash manifest refuses an incomplete seed set, failed D4 check, dirty
provenance, protocol drift, or disagreement between the gate and records.

The separately authorized oral-A-v2 confirmation subsequently reuses those ten
D4 records verbatim and adds exactly 50 preregistered endpoints. Its complete
60-record, five-seed panel passes every accuracy, paired depth-gain, alignment,
mechanism, query, MAC, memory, provenance, and test-isolation check:

| depth | BP test acc. | DFA test acc. | clean KP test acc. | dynamic SDIL test acc. | SDIL early alignment | SDIL/BP MACs |
|--:|--:|--:|--:|--:|--:|--:|
| 20 | 91.624% | 31.878% | 91.388% | 91.584% | 0.999687 | 1.326x |
| 32 | 92.302% | 32.684% | 92.332% | 92.254% | 0.999613 | 1.329x |
| 56 | 92.632% | 30.850% | 92.670% | **92.760%** | 0.999423 | 1.331x |

Dynamic SDIL gains `1.176` accuracy points from ResNet-20 to ResNet-56 on
average, and all five paired seeds improve. Its ResNet-56 advantage over DFA is
`61.910` points, while its mean endpoint differs from BP and clean KP by only
`+0.128` and `+0.090` points. The passed gate establishes positive
standard-depth scaling and raises the internal milestone from 8 to 9. It does
not assign the clean-task gain uniquely to residualization: the inherited clean
KP substrate scales equally well, so SDIL's method-specific evidence remains
its survival under the four-times-RMS mixed-traffic intervention.
`results/figs/figure6_standard_depth_scaling.{pdf,png}` is regenerated from all
60 records and verifies their hashes plus the historical training source.

## How to run
`experiments/run.py --mode {bp,fa,dfa,sdil} --dataset {mnist,fmnist,cifar10} --depth D --residual {0,1} --act {tanh,gelu,silu,relu}`
Batteries: `experiments/run_v2.sh <ds> "<depths>" <res> <act> "<seeds>" <ep> <pfx>`.
Five-depth scaling: `experiments/figure_scaling_sweep.sh`; canonical local baselines:
`experiments/baseline_sweep.sh`; original d1 EP:
`experiments/ep_original_sweep.sh`; exact d1 comparison: `experiments/ep_archmatch_sweep.sh`;
canonical d2 comparison: `experiments/ep_depth2_sweep.sh`; near-parameter comparison:
`experiments/ep_matched_sweep.sh`.
C2 direct causal diagnosis: `experiments/c2_nodepert_validation.sh` followed by
`python experiments/analyze_c2_nodepert_validation.py`.
Theory checks: `python experiments/verify_theory.py`.
Audited aggregate tables: `experiments/analyze_verified.py`. The complete
accept-bar finalizer is `experiments/finalize_accept.sh`; it rejects
missing/dirty or gate-inconsistent inputs, regenerates the six main figures,
their captions and source-hash manifests, rebuilds
`results/audited_tables.md`, and runs all smoke and completed-gate audits.

## Open items

- Treat learned direct node-perturbation feedback (Lansdell et al.) as the exact backbone baseline,
  and BurstCCN as the strongest dendritic/scaling baseline; do not attribute their ingredients to
  SDIL.
- Compare simultaneous calibration at fixed loss-evaluation budgets and sweep directions
  (4/8/16/32).
- Complete the registered 81-cell crossover: all nine methods at each of
  miniCNN/VGGlike/VGG16, ResNet-20/32/56, and Transformer-4/8/12. No depth,
  width, or context extension counts unless all nine method cells are added.
- Diagnose why residual FA has high directional cosine but lower accuracy: log update-norm ratios,
  parameter-space cosine, and serial feedback latency/cost.
- Reproduce the d2 EP basin sensitivity in the original Theano revision and/or a strong modern EP
  variant without selectively removing seeds.
- Tune SDIL schedules using a held-out validation split, never the test trajectory, then freeze the
  protocol before expanding the EP comparison.
- Extend PEPITA and Forward-Forward beyond shallow MNIST before making any scaling claim about them.