From 3b7e982bcbac31a17dbedb2900c49fe43caae5a0 Mon Sep 17 00:00:00 2001 From: vitya Date: Sun, 16 Aug 2026 17:18:28 +0300 Subject: [PATCH] =?UTF-8?q?chore(tasks):=20sched-fnf-01=20accepted,=20sche?= =?UTF-8?q?d-fnf-02=20done=20=E2=80=94=20report=20sent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tasks/STATUS.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index dcdb2ca..0b24e6e 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1,4 +1,5 @@ # Admin Task Board +_Updated: 2026-08-16 (11) — 🟢 **[sched-fnf-01-dir-size-watch] ACCEPTED + 🟡 [sched-fnf-02-docker-runner] DONE (репорт отправлен).** Приёмка №1 (13:54Z): 3 бага дистрибутива починены — exports-map `@sched/daemon` (0.1.2), UI в `@sched/ui` 0.1.1 с бином `sched-ui serve` (daemon headless, --admin-static удалён), токен-бокс в морде, /api/health доки. №2 docker-runner: one-shot alpine:3.20 `wget --spider` на pilorama98.ru → ntfy sched-fnf, exit code → status (0=succeeded / 1=failed+алерт). Обе ветки + allowlist (busybox → fail-fast «not in allowlist», контейнер не спавнился) + новый UI (sched-ui serve --proxy, токен-бокс localStorage, Runs=2). Репорт: `victor/sched/.agents/inbox/2026-08-16T14-17-55Z-admin-fnf-02-report.md`. 2 замечания: allowlist проверяется на dispatch не на load (доки 03.tasks.md обещают load-time validation); createAlerts ntfy только Bearer, basic не поддержан._ _Updated: 2026-08-16 (10) — 🟡 **[sched-fnf-01-dir-size-watch] DONE (репорт отправлен, жду приёмки).** F&F sched №1 выполнен: custom runner `dirSizeWatch` (createDaemon, @sched/core 0.12.1 + @sched/daemon 0.1.1 из verdaccio, стенд `.tmp/sched-fnf-01/`), задача «раз в 6ч размер C:\sites\snolla\App_Data → ntfy sched-fnf, алерт при >1MB». Обе ветки проверены: 1MB-порог → `⚠️ THRESHOLD EXCEEDED` (priority 5) в ntfy, 100MB-порог → обычное сообщение (37.5 MB). Run succeeded в истории, admin UI отрендерен (скриншот ui.png). **3 косяка доки/дистрибутива в репорт sched:** (1) `03.custom.md` импортирует `createDaemon` из `@sched/core` — его там нет (живёт в `@sched/daemon/dist/daemon.js`, пакет без main/exports); (2) published `@sched/daemon` не содержит `sched-ui.bundle.js` — admin UI 404 из коробки, нужен `uiBundlePath`; (3) морда не передаёт token в веб-компоненты — при SCHED_ADMIN_KEY UI показывает unauthorized, ввести ключ негде. Репорт: `victor/sched/.agents/inbox/2026-08-16T13-21-11Z-admin-fnf-01-report.md`._ _Updated: 2026-08-16 (9) — 🟢 **[pilonuxt-restart-cache-volume-price] DONE.** По запросу прогера (письмо 14:40Z): после перезаливки volume_price (`38c26c7` + admin-api 0.11.0) часть карточек не показывала цену за м³ — content-api держал старый viewModel в памяти контейнера (в БД `voulme_price: 38000` массив, во фронте null). Рестарт контейнера (стек 16, образ `64c2539` без пересборки) → кэш сброшен. Verify мимо LAN-DNS: `/shop/products/imitaciya-brusa-podnyatyj-vors-20-145-6000` 200, `volume_price: 38000` в payload + «Цена за м³» + 38 000 в HTML; категории skandinavskaya-doska/imitaciya-brusa/brus/doska 200, регресс `/`/`/services` 200 + `/services/building` 404. Отписано прогеру (14:55Z)._ _Updated: 2026-08-16 (8) — 🟢 **[deploy-pilonuxt-admin-api-0110] DONE.** Релиз snolla `@snolla/admin-api` 0.11.0 (array-canon: Content=массив, ruling vitya; + D6 dirty-flag). Монорепа HEAD `64c2539` (admin-api 0.10.1→0.11.0, yarn.lock; core 0.26.7). Миграция объектных строк уже выполнена прогером (БД чиста, dry-run идемпотентно). Build из монорепы, push напрямую, Portainer PUT стек 16 (`pullImage:true`, Env:0). Verify мимо LAN-DNS: `/catalog/skandinavskaya-doska` + `/catalog/imitaciya-brusa` 200 0×500 (6+6 товаров), карточки podnyatyj-vors 200, embedded admin-api `/admin/api/health` 200, регресс `/`/`/catalog`/`/catalog/brus`/`/services` 200 + `/services/building` 404. Откат: стек 16→`1128ddc`. Source-of-truth compose актуализирован (`64c2539`)._ @@ -1699,15 +1700,26 @@ Cutover DNS уже сделан (07-02) — тут только смена об --- -## 🟡 [sched-fnf-01-dir-size-watch] — F&F-тест sched №1 (первый внешний тестер): периодический размер директории → ntfy. Суть: установить sched (пакеты в verdaccio, доки в victor/sched docs/content/docs/), собрать задачу «раз в 6ч посчитать размер каталога (предложен C:\sites\snolla\App_Data, можно свой) и отправить результат в ntfy-топик; при превышении порога — отдельное алерт-сообщение». Путь решения — любой (рекомендуется daemon: admin UI + история ранов — часть теста). Цель теста — проверить, что доки ведут за руку, а код не сыпется: косяки доки/ошибки кода репортить сразу, не чинить самому. +## 🟢 [sched-fnf-01-dir-size-watch] — F&F-тест sched №1 (первый внешний тестер): периодический размер директории → ntfy. Суть: установить sched (пакеты в verdaccio, доки в victor/sched docs/content/docs/), собрать задачу «раз в 6ч посчитать размер каталога (предложен C:\sites\snolla\App_Data, можно свой) и отправить результат в ntfy-топик; при превышении порога — отдельное алерт-сообщение». Путь решения — любой (рекомендуется daemon: admin UI + история ранов — часть теста). Цель теста — проверить, что доки ведут за руку, а код не сыпется: косяки доки/ошибки кода репортить сразу, не чинить самому. -**Status:** paused -**Where I stopped:** DONE (2026-08-16) — custom runner dirSizeWatch через createDaemon (стенд `.tmp/sched-fnf-01/`, вне репо sched): размер `C:\sites\snolla\App_Data` (37.5 MB) → ntfy `sched-fnf`, алерт при >1MB. Обе ветки проверены (1MB → ⚠️ THRESHOLD EXCEEDED priority 5; 100MB → обычное сообщение). Run succeeded в истории + admin UI отрендерен (ui.png). 3 косяка доки/дистрибутива (createDaemon импорт, sched-ui.bundle.js 404 в npm-пакете, морда без token-ввода) → репорт в `victor/sched/.agents/inbox/2026-08-16T13-21-11Z-admin-fnf-01-report.md` (файл, gitignored — их монитор подхватит). -**Next action:** ждать приёмки репорта sched → таска №2 (docker-runner → async/poll → custom/embedded). Правила: чужая доска/репо — не трогать, всё через письмо в их inbox. +**Status:** done +**Where I stopped:** ACCEPTED (2026-08-16 13:54Z) — репорт 13:21Z → 3 бага дистрибутива починены sched'ом (exports-map @sched/daemon 0.1.2, @sched/ui 0.1.1 serve, токен-бокс). Работа: custom runner dirSizeWatch через createDaemon (стенд `.tmp/sched-fnf-01/`), размер `C:\sites\snolla\App_Data` (37.5 MB) → ntfy `sched-fnf`, алерт при >1MB. Обе ветки проверены (1MB → ⚠️ THRESHOLD EXCEEDED priority 5; 100MB → обычное). Run succeeded + admin UI (ui.png). +**Next action:** (закрыта — приёмка получена, таска №2 выдана) **Branch:** n/a **Notify:** victor/sched - + + +--- + +## 🟡 [sched-fnf-02-docker-runner] — F&F-тест sched №2: docker runner. Суть: периодический one-shot контейнер через docker runner (read-only проверка, результат/алерт в ntfy), путь — по докам 06.runners/02.docker.md. Проверить: exit code → status, env-мост (data → SCREAMING_SNAKE + SCHED_RUN_ID/SCHED_TASK_NAME), image allowlist, историю ранов в admin UI (теперь @sched/ui sched-ui serve + токен-бокс). Косяки доки/кода — репорт в inbox victor/sched, не чинить самому. + +**Status:** paused +**Where I stopped:** DONE (2026-08-16) — alpine:3.20 one-shot `wget --spider` на pilorama98.ru → ntfy sched-fnf (OK priority 2 / FAIL priority 5). Обе ветки: succeeded rc=0 / failed exit 1. Allowlist: busybox → fail-fast «not in allowlist» до спавна. UI: sched-ui serve --proxy :8082, токен-бокс localStorage (фикс №3 подтверждён), Runs=2, скрин ui2.png. 2 замечания в репорт (allowlist load-time, createAlerts basic ntfy). +**Next action:** ждать приёмки №2 → таска №3 (async/poll или custom/embedded). +**Branch:** n/a +**Notify:** victor/sched + ---