Date: Jun 12, 2026. Criteria:
tasks/chain10_criteria.md (pre-registered before any
extraction). Evidence:
generated_reports/GNC/chain10_offline_tables.md (8 runs,
top-10 κ peaks each, peak-vs-control effect sizes) +
generated_reports/GNC/chain10_codepath_audit.md.
Chain:
tasks/daily_log/Jun12_26/CHAIN_10.md. Every replay
self-check measured exactly 0.0 relative difference
(the offline κ replay is bitwise-faithful to the controller’s).
Runs and metrics as in
generated_reports/GNC/phase00_round1_verdict.md (Legend
there). Speed triples are written nominal / −2% / +2%.
New shorthand: phase = fraction of the inspection path
completed (0 = start, 1 = done); hot band = a narrow phase
interval where a run’s κ peaks cluster; Cliff’s δ = rank-based
effect size, peaks vs matched calm windows (pre-registered “large” bar:
|δ| ≥ 0.5); entries = how many times a run crossed into the
near-singular regime (σ₆ < 0.025).
Criteria text: “H1 killed if the code audit shows dx
inert in the adopted config…” The finite-differenced tangent is
discarded at its only call site (ee_guidance.py:620, bound
to _), and the ff_route knob that promised
consumers is a dead config key (zero matches in GNC). Inert in
all configs. No tangent noise can reach any command.
(Housekeeping alert raised on the dead key.)
Criteria text: “Killed offline if peak-located curvature is
indistinguishable from control.” Measured: path_curv
Cliff’s δ at peaks is between −0.90 and +0.10 on every
run — never near the +0.5 confirm bar, mostly indistinguishable
or lower than calm windows. Aiming at curvy geometry is not
what makes κ spike. (Technical note: discretely, the FD-tangent ripple
and the path curvature are the same quantity — the tables’
fd_ripple and path_curv columns are duplicates
by construction; both were documentation-only after H1’s kill.) The T6
geometry falsifier (RCM/AcrimSat) is no longer needed for H2 as
registered; it remains available as a broader
schedule-sensitivity-vs-target-shape probe if the user wants it.
Criteria text: “H3 confirmed if reach-margin minima co-locate with the top-10 κ peaks (overlap beyond chance) AND the ±2% arms shift the co-location phase in the predicted direction.”
reach_b (EE-to-base
distance, a crude proxy) clears the bar only sporadically (δ = +0.82 on
r1 +2%, +0.60 on r0 nominal, but −0.42 on r1 nominal). Honest miss,
reported as such.Disposition: H3 graduates to the leading hypothesis
with a named follow-up: replace the crude reach_b proxy
with the true arm-extension margin (shoulder-frame reach or a strided
s_min_G replay — the factor with the historical +1.0
correlation) and re-run the correlator. That is a one-driver re-run of
the committed harness, not a new chain.
Criteria text: “H4 amplifier verdict if entries within ±20% across arms while duration grows >3×. Seed verdict if entry count itself moves >2×.”
Measured on the r1 trio (nominal/−2%/+2%): entries 23 / 14 / 2 — the entry count moves >10×, far beyond the 2× seed threshold. Mean episode length also collapses (≈19 s / 16 s / 1.6 s). At this operating point the schedule changes how often the system falls into potholes (and how fast it escapes), not merely how long an unchanged set of falls lasts. The CHAIN_6 dwell fixed point remains real as a mechanism (it explains long episodes when they happen, e.g. r0’s 6–8 entries totalling ~630 s ≈ 100 s/episode), but the ±2% sensitivity is seed-dominated. Bonus structure: r3 (anchor hybrid) has the MOST entries (33) and nearly the least dwell (185 s) — it falls in often but escapes immediately; entry count and total dwell are not interchangeable summaries.
Criteria text: “EVENT verdict if the ze-error mass inside peak windows exceeds control windows with Cliff’s δ ≥ 0.5; BROADBAND verdict if the dwell-free run shows ze p99 > 3× the 6-DOF level with δ < 0.2.”
Measured ze_err δ on r1: +0.48 / +0.58 /
+0.94 (nominal / −2% / +2%) and +0.64 on r3. Two of three r1
arms clear the 0.5 bar; nominal misses it by 0.02 (reported, not rounded
away). The “dwell-free” +2% run is the most event-concentrated of all (δ
= 0.94): its residual pointing error lives almost entirely inside its
startup-band κ peaks — NOT broadband. Implication for
derivation_7dof.md: scrutinize the near-singular handling
(kernel freeze / derate interplay) before the reconstruction
math — the broadband- formulation-bias hypothesis is
disfavored. The 6-DOF anti-correlation (δ = −0.54/−0.86/−0.18: its
pointing is better at its κ peaks, which occur while crawling)
is consistent with pointing error being a dynamic event
phenomenon, not a conditioning-state phenomenon.
A ±2% timetable change moves which orbit-phase band the arm traverses near its extension limit; the 7-DOF, living marginally close to that manifold, sees its pothole entry rate (and with it dwell, throttling, and pointing transients) swing by orders of magnitude, while the saturated 6-DOF barely notices — numerics (H1) and surface curvature (H2) are exonerated, and the dwell loop is the episode-lengthener, not the sensitivity’s source.
reach_b → true
extension margin (s_min_G strided replay) in
validation/kappa_peak_forensics.py; re-run (minutes,
offline).m7_on_s45_freeze.npz + the s441 arm closes the
discrepancy — blocked only on those logs’ key layout (they predate the
Phase 00 saver).tasks/phase00_protocol.md — the
desired-twist feedforward meant to remove the speed-proportional
tracking lag, applied to both configs per protocol amendment 1): the pe
non-monotonicity and the event-driven pointing both point at transient
events, not steady lag — the feedforward should be designed (or at least
evaluated) against the startup/hot-band events, not only the cruise
regime./Users/antoniahoffman/miniforge3/envs/new-pin-env/bin/python /Users/antoniahoffman/Code/Inspection_Simple_2/validation/chain10_probe.py
/Users/antoniahoffman/miniforge3/envs/new-pin-env/bin/python /Users/antoniahoffman/Code/Inspection_Simple_2/validation/test_chain10_peaks.py
/Users/antoniahoffman/miniforge3/envs/new-pin-env/bin/python /Users/antoniahoffman/Code/Inspection_Simple_2/validation/kappa_peak_forensics.py