textmachine/backend/docs/SEAM_FIX3_PLAN.md

30 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# План фикс3 (промт BACKEND_SEAM_FIX3_SESSION_PROMPT.md)
> Комплектность: `grep -cE '^### 4\.' docs/BACKEND_SEAM_FIX3_SESSION_PROMPT.md` → **6**.
Порядок — сначала два пина (воспроизведение мутации ДО пина, правило «сначала посадка»), потом снос,
потом тексты, потом §4.6.
1. **§4.1** — воспроизвести мутацию приёмки (отказ записи карты → WarnContext) и убедиться в зелёной
батарее; пин приёмом приёмки: путь карты занят непустым каталогом → прогон обязан вернуть ошибку,
`StopPresentedSurfaces` книги обязан остаться пуст. Запись каталога FX23.
2. **§4.2** — воспроизвести утверждение панели (docsReRead → docsFromResult на исходе write_incomplete
→ существующие пины зелёные); пин: карта с нерешённой поверхностью + документ, решающий её + отказ
записи (не легло ничего) → `signature.undecided` обязан быть 1 (диск), не 0 (намерение). FX24.
3. **§4.5** — снос машинной таблицы `.bank-stop.json`: писатель, дисциплина отказа, пути, поле
`TableJSONPath`, строка рендера, json-теги DTO, тесты таблицы. `.bank-stop.txt` не трогаю.
Проверка «читателя нет» — свой греп по всем зонам до сноса.
4. **§4.4** — зачистка грепом: формы `re-fire`/`re-fires`/`refire` + `stop clears`/`clears the stop` +
`never.*stop` рядом с decline/reject + русские следы; правильный текст — из D39.144 (отказ
исключает терм из ЭМИССИИ: он не возвращается в карту и в авто-банк; про стоп он не говорит ничего —
стоп это вопрос памяти).
5. **§4.3** — `runner.go:206` и `panic_exit_test.go:78` → двухъярусная формулировка.
6. **§4.6** — проверить утверждение консилиума по `bankexport.go`; если подтверждается — аддитивные
поля идентичности границы (run id + метка границы, обе уже есть у прогона, детерминизм не задет);
версию конверта не двигать (добавление аддитивно).
Развилки: у §4.5 возможен читатель, которого не нашла приёмка — ищу сам до сноса, нахожу → пинг, не
молчаливое сохранение. У §4.6 законен отказ с аргументом — решу после чтения фактуры.
Финал: батарея + стенд-батарея + tmmutate (60 записей) на копии + FINDINGS §46 + итог в журнал +
проверка закрытия отдельным не-чинившим агентом.