23a: docs sync to post-22z state — AGENTS header/open-gaps/key-files and BITEXACT_PLAN entry-point updated: priority #1 = bands[] input semantics (static decode of conv body or in-callback trace), canon stays LAWAFFINE 7.4/1.85 TOTAL 1.931, refuted branches documented

This commit is contained in:
2026-08-23 19:00:44 +03:00
parent 738ffccad4
commit 07cd4b7dc0
2 changed files with 50 additions and 32 deletions
+25 -17
View File
@@ -4,11 +4,14 @@ Bit-exact реверс DSP-ядра oeksound soothe2 (VST3) → транскри
Полное журналирование — в `handoff/NOTES_LEVEL.md`, `handoff/NOTES_TWIN.md`,
`handoff/NOTES_CAPTURE.md`, `roadmap.md`.
> **Текущая фаза: bit-exact НЕ достигнут** — dB-параллель двумя канонами: bridge
> (корпус mean 1.594 dB, comb 10.1) и структурная цепь FUN_180529fe0 на 48k/4096
> (comb **6.12** — уже лучше bridge; однополосные хуже; разрыв = насыщение кривой
> редукции). Путь к байтам — в `BITEXACT_PLAN.md` (8 шагов, пере-скоуп Шага 2).
> ЭТОТ ФАЙЛ ЧИТАЙ ПЕРВЫМ. Bridge — запасной канон; структурная цепочка — целевая.
> **Текущая фаза (2026-08-23, после 22z):** канон = структурная цепь 48k/4096 с
> RT_LAWAFFINE=7.4,1.85 (TOTAL 1.931; bridge 1.594 — гейт не пройден). ГЛАВНЫЙ
> ОТКРЫТЫЙ ВОПРОС — семантика входов `bands[]` детектора: доказанно НЕ поточечная
> функция от (am,res^α) [22x], не форма-постобработка [22w], не спрединг
> IDFT→окно→DFT [22z]. Живая кривая редукции R=1/mask захвачена (слот 0x5407f8,
> dualtrace.py), но применённый фильтр ≠ её поточечной копии — механизм живёт ДО
> кривой (twin-шаблон/скалярный драйв). Журнал: NOTES_LEVEL 22s22z; карта метода:
> handoff/BLOCKMAP_529fe0.md. ЭТОТ ФАЙЛ ЧИТАЙ ПЕРВЫМ.
## Золотое правило (обязательно)
1. **Цель — bit-exact реверс кода**, НЕ эмпирическая подгонка кривых. Каждый параметр
@@ -102,18 +105,19 @@ scale → LUT level-domain (t^γ·MULT, γ=0.344 decomp / MULT=4.2 placeholder)
CMAX) не закрывает тон+шум одновременно → res/dual регресс у любой точки; ищем
контент-зависимый механизм. Инструментарий RT_DUMP_BIN / RT_DUMP_ALL в коде (opt-in).
### Открытые bit-exact/структурные пробелы (см. NOTES_LEVEL.md)
1. Насыщение кривой редукции (см. выше) — приоритет №1.
2. `combine/аккумулятор 0x5407c8`: семантика декодирована (21b), но acc/f6f8 НЕ имеют
однополосного консюмера — искать точку потребления (межполосный каскад). ВНИМАНИЕ:
`FUN_1805316e0` = writer коэффициентов, НЕ комбинер масок.
3. ~~BandConfig `ctx+0x188` A/B/γ — противоречие между сессиями~~ **РАЗРЕШЕНО
(22b): live = 24/28/1 у ВСЕХ конфигов, но весь кластер FUN_180563440/563a60 —
GUI-timer only; аудио-путь (FUN_180529fe0) BandConfig не читает. Шаг 7 в исходной
постановке опровергнут; LUT-константы структурной цепи помечены EMPIRICAL.**
4. PRNG-пролог (LCG+LUT → fVar30) — залочен (fVar30=1 при live state 112), dry/wet rnd импорт.
5. Бит-экзактный exp2 (0x26b820); FFT-conv понижен до P3 (окно near-flat, NOTES:18c);
SR-геометрия 48k/4096 сделана (render48k).
### Открытые пробелы (после 22z; детали — NOTES_LEVEL 22s22z)
1. **Семантика входов `bands[]` в FUN_180529fe0** — главный вопрос. Отвергнуто:
lvl=f(am,res^α) с единым законом [22x, теорема], форма-постобработка маски [22w],
спрединг IDFT→окно→DFT [22z]. Живой захват: кривая редукции R=1/mask @слот
0x5407f8 (пик следует за fc полосы), acc/f6f8 нули в стационаре.
Пути: (а) декод тел conv 0x1802a24c0 + complex-op шагов с буферами
0x540548/550/598; (б) синхронная трасса буферов в аудио-колбеке.
2. dual-таблица по q (22x): cut@центра константен при любом q, Δcut скайрта ≈
линейно по −ln res с b≈2.25 — геометрия twin-шаблона на сетке 0.25 Гц.
3. FFT-conv: последовательность вызовов декодирована (BLOCKMAP/22z), тело
0x1802a24c0 (AVX2) и complex-op шаги — не расшифрованы.
4. Бит-экзактный exp2 (0x26b820); бит-точная DSP-FFT (P3); стерео M8 (P5) — отложены.
5. Источник констант RT_LAWAFFINE A/S в декомпе не найден (помечено EMPIRICAL).
## Структура ключевых файлов
- `dsp/framed_model.{cpp,hpp}` — C++ порт mask-apply цепи: bridge-канон + структурная
@@ -128,6 +132,10 @@ scale → LUT level-domain (t^γ·MULT, γ=0.344 decomp / MULT=4.2 placeholder)
- `handoff/nls_dasm/` — 134 дизассембла декомпа.
- `/tmp/consumers_out.txt` — полный decomp `FUN_180529fe0` (уникален, вне git).
- `/tmp/snap_rt.bin` — live-снимок (ctx 0x2370040, SR 48000).
- `handoff/BLOCKMAP_529fe0.md` — полная блок-карта FUN_180529fe0 по raw asm (22v).
- `scripts/lawfit22r.py` — офлайн реплей-сим пайплайна (~2 c корпус), фиты законов.
- `scripts/resalpha.py` — сбор трактов + теорема об отсутствии α (22x).
- `scripts/dualtrace.py` + `play_loop.lua` — живой захват ctx при realtime-playback (22y).
## Чистая работа
- Не коммитить: `*.bin`(дампы 112М), `*.wav/rpp`, `*.log`, `dsp/build/`, `ghidra-proj/`,