24mm11: wine ptrace tracer works; FIR chain verified BIT-EXACT live (ratio=1.0, q=1 exact); df0 complex-mul confirmed; NEW: track_i != exp(scr) -> gamma born in detector cascade (Stage B target)

This commit is contained in:
2026-08-26 14:15:03 +03:00
parent 6bc0120286
commit 60421c32c9
3 changed files with 808 additions and 0 deletions
+42
View File
@@ -4194,3 +4194,45 @@ INV-воркер добавляет ffe0(2^-12) ([obj+0xc]=1), FWD-воркер
## ============ 24mm11: LIVE PTRACE-ТРАССИРОВКА WINE-ХОСТА; ЦЕПЬ ДО DF0 БИТ-ТОЧНА; q=1 ============
### Инструмент (прорыв)
scripts/wine_ptrace_trace.py — мини-ptrace отладчик: запускает reaper как
ребёнка (yama=1 не мешает), аттачится ко всем тредам wine-хоста yabridge,
ставит int3 на входах COPY 1800136e0 / EXP 1803831c0 / DF0 18000b3c0 /
DF0RET 52b898, дампит регистры и буферы через /proc/tid/mem между хитами.
Контекст НЕ нужен: всё берётся из регистров хитов; кадры сшиваются
последовательностью COPY→EXP→DF0→DF0RET.
### ФАКТЫ (dual_b1q_0.5.rpp, 400+ хитов)
1. **Вход EXP == rfft(fold(irfft(scr))) при q=1 ТОЧНО**: отношение
Y_meas/Y_model = 1.0000+0.0000j по всем бинам всех кадров. НИКАКОГО
скаляра q нет — «q≈0.8» из 24mm9 был артефактом вырожденного фита
(гладкая модель подгонялась под гладкую кривую).
2. **FIR на входе df0 == полная модель БИТ-В-БИТ**: |ratio|=1.0000,
phase=0 по всем 2049 бинам; энергия разностного ядра ~1e-15.
Окно = периодический Hann, падающая половина, всё как в модели.
3. **df0 = complex-mul подтверждён живьём**: Tout==Tin⊗F с relerr≤3.5e-7
(float32).
4. **НОВОЕ: track_i ([rsp+0x138]-таблица) ≠ exp(scr)!** Tin — комплексная
кривая, СОСРЕДОТОЧЕННАЯ В НОТЧАХ (топ-бины = нотчи скр), |max|~442,
наклон log|Tin|/scr ≈ 5.5 ⇒ Tin ≈ trk^5.5; Tout = Tin⊗F ≈ trk^4.54.
5. Слоты ctx через сигнатуру vtable нашли ДРУГОЙ инстанс (GUI-класс:
слоты содержат 1200/440/25 — частоты/параметры); валидация ctx теперь
только по инварианту trk==exp(scr) из хита (строгая: finite, |scr|<40).
### СЛЕДСТВИЕ: где рождается γ
Цепь до df0 бит-точна и НЕ содержит γ. Применённая маска cur@678 =
trk^1.760561 образуется ЛИБО самим track_i (выход детекторного каскада
шагов 9–17 — ЭТАП B!), ЛИБО пост-df0 нормализацией потребителем
(FFT-conv движок 22z). Этап B получил точную цель: декодировать путь
lvl_raw → track_i (буфер [rsp+0x138][band]) и пост-обработку до 678.
### Следующие шаги
1. Этап B: каскад lvl_raw→track_i (bandloop_trace, шаги 917, ACC@7c8);
валидация теперь возможна ЖИВОЙ трассировкой тех же опов (add bps на
divide 52d650/acc-dc40/att-rel 1fa0/1940).
2. Найти консюмера track/FIR после fn529fe0 (FFT-conv движок) — как
track_i превращается в применённую маску аудио.
3. C++ порт RT_CASCADE=1 (Этап C) — цепь до df0 уже можно транскрибировать.