режект #5 ozon: cleanup tmp ENOTEMPTY валит ран после успешного publish (publish-цепочка работает вживую)

This commit is contained in:
2026-08-21 02:09:32 +03:00
parent 6b30daa646
commit dcbf582081

View File

@@ -1,10 +1,10 @@
# Admin Task Board
_Updated: 2026-08-20 — 🟡 **[sched-pipelines-local-stack]** schedd **0.9.0 применён + cancel-тест ЗЕЛЁНЫЙ**. **Мок-publish в прогрессе (режект #4 ozon)**: фиксы #1 (dryRun), #2 (prodDeps), #3 (git identity) приняты+проверены — npm publish идёт, commit прошёл. 4-й баг: push в существующее репо non-fast-forward (git init в tmp без истории; yandex клонирует существующее — ensureRepo/cloneRepo). Письмо-режект 23:10Z, ждём фикс #4.
_Updated: 2026-08-20 — 🟡 **[sched-pipelines-local-stack]** schedd **0.9.0 применён + cancel-тест ЗЕЛЁНЫЙ**. **Мок-publish: publish-цепочка РАБОТАЕТ вживую** (режект #5 ozon): фиксы #1-#4 приняты+проверены — npm publish, create-repo, clone, commit, push fast-forward всё зелёное (`release 0.1.0` поверх Initial commit). 5-й баг: cleanup tmp валит ран после успешного publish (`ENOTEMPTY: rmdir /tmp/ozon-gh-*/.git` в finally). Письмо-режект 23:20Z, ждём фикс #5.
## 🟡 [sched-pipelines-local-stack] — локальный стенд: sched daemon + ym/ozon воркеры + browser/ntfy/alert-bridge, потом VDS
**Status:** active
**Where I stopped:** schedd **0.9.0** (verdaccio latest, core 0.48.0), commit 225d235c. Cancel-тест зелёный. **Мок-publish: раны ozon 3-5**фиксы #1 (dryRun плоский, 297bc31), #2 (prodDeps readFile, 5ce9852), #3 (git identity -c user.name/email, 06db835) приняты+проверены (202→204/204, интеграционный тест реального git). Прогресс по ранам: npm publish реально идёт (0.1.0 в verdaccio; E409 на повторе — я unpublish'нул), create-if-missing работает (репо apilki/ozon-seller-typescript), commit проходит. **Баг #4: push non-fast-forward** на 2-м ране — ghPublish всегда `git init` в tmp (publish.js:180/297), нет общего ancestor с origin/main (README auto_init). Yandex: ensureRepo→cloneRepo→assemble→push (github-distro.js:79-92). Письмо-режект 23:10Z (ТЗ: clone существующего репо вместо init + тест на 2-й ран). Yandex не запускал. tasks.json: dryRun:false у обоих.
**Next action:** (1) ✅ schedd 0.9.0 + cancel-тест — DONE; (2) 🔴 **ждать фикс #4 ozon (clone вместо git init) + отчёт** → пересобрать → прогон 2 ранов ozon (1-й create-if-missing после удаления репо, 2-й push в существующее) → проверить verdaccio+Gitea содержимое → затем yandex (13 стадий); (3) VDS-миграция (после пары дней локально).
**Where I stopped:** schedd **0.9.0** (verdaccio latest, core 0.48.0), commit 225d235c. Cancel-тест зелёный. **Мок-publish: 6-й ран ozon (фиксы #1-#4 внутри)** — проверен вживую: npm publish `@apilki/ozon-seller@0.1.0` ✅ (verdaccio), create-if-missing ✅ (репо удалял для чистого теста → создано заново), clone+commit+push fast-forward ✅ (`release 0.1.0` поверх `Initial commit` в Gitea), state сохранён (publishedVersion 0.1.0). **Баг #5: cleanup tmp валит ран**`ENOTEMPTY: rmdir /tmp/ozon-gh-*/.git` в finally rmSync после успешного push → ран failed, хотя publish прошёл (ложный failed для sched, риск E409 при retry). Письмо-режект 23:20Z (ТЗ: maxRetries/retryDelay в rmSync ИЛИ не падать на cleanup в finally). tasks.json: dryRun:false у обоих, расписания УБРАНЫ (manual-only, commit 6b30daa6).
**Next action:** (1) ✅ schedd 0.9.0 + cancel-тест — DONE; (2) 🔴 **ждать фикс #5 ozon (cleanup tmp ENOTEMPTY) + отчёт** → пересобрать → прогон 2 ранов ozon подряд (1-й create → 2-й push в существующее, оба без E409/cleanup-краша) → затем yandex (13 стадий); (3) VDS-миграция (после пары дней локально).
**Branch:** master
**Weight:** needs-claude
_Updated: 2026-08-19 — 🟢 **[sched-fnf-r10] ЗАКРЫТ (их ack 17:24Z): 6/6 PASS, 0 находок, 0 замечаний** — первый раунд без фиксов после режекта. Per-task alert routing (core 0.44.0/daemon 0.4.2): r10-a регресс, r10-b on:[] тишина (массивы replace), r10-c per-task on, r10-d per-task onMissed (missed-slot только для A, delayMs 129016), r10-e мультиканал (+без корневого webhook), r10-f fail-fast на load (3 варианта). Бонус HMAC MATCH. Процесс: раунд начинался с режекта (доки не сгенерированы/битый пример/не запушено), их фикс + push + сгенерированный dist + исправленный пример → ретест 6/6. Урок: F&F тестируется по СКОМПИЛИРОВАННОЙ доке (dev-сервер localhost:5108), не по сырцам; порядок хендоффа 16 у них в fnf-testing-procedure.md. Репорт: sched/.agents/inbox/2026-08-19T17-24-00Z-admin-fnf-r10-report.md. Стенд: /tmp/sched-alerts-stand/r10/._