docs: NEXT_PROMPT.md — session handoff prompt (post-24d state, priorities, environment hazards, control numbers)
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# PROMPT FOR NEXT SESSION (2026-08-24, после 24d)
|
||||
|
||||
Продолжаем bit-exact реверс soothe2 в /home/m/re-tools (ветка main, HEAD 135f0e9).
|
||||
|
||||
ПРОЧИТАТЬ ПЕРВЫМ: AGENTS.md → handoff/NOTES_LEVEL.md обновления 23d–24d
|
||||
(прорыв и смена парадигмы) → BLOCKMAP_529fe0.md + приложение 23b.
|
||||
Не опираться на roadmap-разделы про Шаги 7/9 и на вывод 23k «build-once» —
|
||||
он ОТЗЫВАН в 24c.
|
||||
|
||||
СОСТОЯНИЕ КАНОНА: не тронут — голая цепь 48k/4096 + RT_LAWAFFINE=7.4,1.85,
|
||||
TOTAL 1.931 (bridge-гейт 1.594 не пройден).
|
||||
Отвергнуто и НЕ возвращаться: скалярные законы A/S, двухфакторные quad/resrp,
|
||||
точечные lvl=f(am,res^α) [22x теорема], спрединг IDFT→окно→DFT как
|
||||
постобработка [22z], плоский IIR [22u], симметричная log-свёртка [23c].
|
||||
|
||||
ГЛАВНЫЙ ПРОРЫВ СЕРИИ (23d–23e, живые снапы rendersnap.py):
|
||||
bands[] = сырой спектр кадра → log(DESIGN 0x1802a24c0) → ops → scratch@540628
|
||||
→ FIR@540668 = exp(0.984·scratch) поточечно; окно = падающая половина
|
||||
периодического Hann(4096) на [n/2..n); применение = свёртка ×1.805 (EMPIRICAL,
|
||||
константа по всем 4 точкам ±0.5%). Центр не зависит от q живьём;
|
||||
Δскайрт сходится в 3%. q-серия снята (NOTES 23f).
|
||||
|
||||
ПРИОРИТЕТ №1 — потребитель кернела и источник ×1.805:
|
||||
Conv-движок опознан: объект ctx+0x540530 (inline-cfg {2,4096},{16384,8192},
|
||||
{2,257}; векторы +0xb8..+0x130; методы dc30 cfg / fe00 resize / dd30 dtor —
|
||||
прямые вызовы из init 52e9b0). Его PROCESS-метод не найден: все 390 disp32-
|
||||
ссылок на таблицу слотов учтены, скрытых нет (23h).
|
||||
Пути: (а) отладить scan2.py (лежит в /tmp/opencode, НЕ закоммичен; баг:
|
||||
тот же алгоритм что rendersnap.py даёт пусто — сравнить пошагово);
|
||||
(б) декод аудио-клея 52exx–52fxx + поиск caller'ов vtbl+6 у соседнего
|
||||
экземпляра (гипотеза GUI/DSP-пары, 24c);
|
||||
(в) INT3-ловушка на тела дизайна в param-окно (~1.40–1.45 c жизни хоста)
|
||||
при ГАРАНТИРОВАННО свежем рендере (render_fresh в логе обязателен!).
|
||||
|
||||
ИНСТРУМЕНТЫ: scripts/rendersnap.py (рабочий канал наблюдения — STOP-семпл
|
||||
офлайн-рендера), qseries.py, amseries.py (нужен фикс стабильности фаз),
|
||||
ilt_resolve.py, fnexec.py (early-arm HW exec-bp), perfbp.py (только native),
|
||||
fnwatch4.py (дисциплина армирования: INTERRUPT→wait→arm→CONT каждому треду).
|
||||
Сборка: touch dsp/framed_model.cpp && cmake --build dsp/build --target render48k
|
||||
framed_test (TOOLING HAZARD — touch обязателен). Метрика только честная:
|
||||
render_parity.load (24-bit!), Гёрцель по последним 0.75 c.
|
||||
|
||||
СРЕДА (грабли, всё проверено болью):
|
||||
- HW-ловушки внутри wine НЕВОЗМОЖНЫ: wine держит BP-слоты (perf ENOSPC),
|
||||
ptrace-DR пишется в task_struct но не программируется в кремний [24a];
|
||||
- yabridge: сотни мёртвых сокет-директорий /run/user/1000/yabridge-* ломают
|
||||
спавн хоста — rm -rf перед серией; pkill -f самоубийственно для шелла;
|
||||
- kill reaper во время рендера оставляет ЧАСТИЧНЫЙ wav с полной шапкой
|
||||
(источник «флака»); realtime-playback мёртв (нет аудио-девайса);
|
||||
- выход рендера длиннее входа из-за LOOP=1 (выравнивание сегментов обязательно).
|
||||
|
||||
КОНТРОЛЬНЫЕ ЧИСЛА dual_b1q_0.5: cut@500=10.32 дБ (константен ∀q),
|
||||
cut@2000=11.82; Δcut скайрта ≈ линейно по −ln res (b≈2.25 дБ/e-fold).
|
||||
Цель раунда: опознать потребителя кернела → декодировать ×1.805 → начать
|
||||
RT_FIRCONV=1 (обработка покадровая — 24c; кернел перестраивается каждый кадр,
|
||||
ловушки на цепь молчат из-за wine-слотов, см. 24a). Корпус с гейтом
|
||||
--vs-bridge после любого изменения C++. Коммитить по подшагам; факты в
|
||||
NOTES_LEVEL (следующий номер UPDATE 24e+).
|
||||
Reference in New Issue
Block a user