Second heatup PJ probe with tightened X_entry (T_c width 6K vs
baseline 14K) gives:
T=60s: 5710 sets in 101s — T_c envelope [281.05, 291.0] ✅
T=300s: 12932 sets in 206s — T_c envelope [281.05, 291.0] ✅
T_c envelope STABLE (identical at 60s and 300s) — the tube reached
steady shape and stopped growing. Low-T_avg trip (280) cleared at
lower bound 281.05, ~1K margin.
**First sound nonlinear reach-avoid proof for any mode of this plant:**
for the tightened entry and T = 300s, every inv1_holds halfspace
holds along the tube. Sound w.r.t. PJ dynamics (<= 0.1% error vs
full state).
The baseline wider-entry run was loose on T_c low bound (272.4),
confirming that the looseness was entry-box-width driven (14K too
wide for TMJets + orderQ=2) rather than intrinsic to the method.
Entry splitting / refinement is the path to the full baseline set.
Also: LaTeX preamble now has the unicode-to-math literate map
attached to the listing STYLES themselves (not just global \lstset),
so terminal-output listings pasted from Julia with Δ, ≥, °, ✅ etc.
render correctly. Journal 34 pages, clean build.
OVERNIGHT_NOTES.md updated with tight-entry win.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- OVERNIGHT_NOTES.md: read-this-first TL;DR for morning review.
Points at journal.pdf (32 pages, latest entry has all results),
validate_pj_heatup.png, and the Pluto app. Lists priority-1 actions
(look at data, decide on refinement vs accept-300s-tube) and
priority-2 followups (scram reach ingestion, entry refinement,
saturation hybrid, SOS barriers, alpha parametric).
- reach_heatup_pj_tight.jl: script committed but not yet run tonight.
Tighter X_entry on T_c (width 6 K vs baseline 14 K) to test whether
the low-T_avg-trip tube-looseness is entry-box-width driven or
reach-growth driven.
Scram PJ still compiling as of this commit; will land separately
when it completes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>