SOLVED by Claude:
That's the cause: Zorro's outlier filter is altering your bar.
Why it hit 03-02 09:32. The default Outlier for BarPeriod = 1 is 1.1 + 2·?(1/1440) ? 1.153. Any price more than about 15% above or below the last price is treated as an outlier and suppressed. Your 09:32 bar jumps from 255.55 to 389.11, which is +52%, so it was modified on load. That also fits the 359 / 362.55 oddities. I can't reproduce the exact numbers from the formula, since the manual only says outliers are suppressed "with a 0.0001 EMA factor", but the cause is clear. NumOutliers should be above 0 after the run if you want to confirm it.
One thing I can't reconcile: your jump from 297.51 to 255.55 on 02-28 is about -14%, close to the threshold, and it passed unchanged. The comparison may be against a smoothed reference rather than the last bar, so I wouldn't rely on 15% as an exact line.
The fix. Add this at the top of run(), before any price is read:
c
Outlier = 0; // no outlier, split or negative-spread detection