diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index c413a1e..ad4765f 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -1,53 +1,33 @@ --- -_last_updated_: 2026-08-18T15:30:00Z -session_id: 2026-08-18-pi-sched-fnf-r8-entity +_last_updated_: 2026-08-18T17:10:00Z +session_id: 2026-08-18-pi-sched-fnf-r8-item5-close --- # Next session handoff ## Recent commits -- 66d8d506 handoff: F&F r8 №3 (политики) проверен 21/21, отчёт отправлен sched -- 5ece753b handoff: F&F r8 №2 (движок) проверен 75/75, отчёт отправлен sched -- 3364968f handoff: F&F r8 №1 закрыт — фиксы F1/F2 перепроверены, вердикт отправлен sched +- df1a7ef1 docs(wiki): r8 stand updated — items 4-5 (API 52/52, UI 13/13, findings U1/U2) +- dbce833a wiki: ingest 2 concepts — sched-fnf-r8-verification-stand + windows-docker-test-harness-gotchas +- fd2c1752 handoff: session-end финализация (F&F r8 №1-№3 закрыты, ждём №4) + +(сессия без коммитов: только ретесты + инбокс-письма sched) ## Open треки | Трек | Готовность | Entry-point | |---|---|---| -| sched F&F r8 (schedule-as-entity) | 🟢 **r8 №3 ЗАКРЫТ 15-30Z** — политики (slice 3) проверены: 21/21 (whole-no-merge, snapshot-семантика, pause AND, manual=дефолты, priority-микс). Находок нет, отчёт отправлен. Ждём №4 (API). | `sched/.agents/inbox/.read/2026-08-18T12-55-44Z-sched-fnf-r8-entity-intro.md` (лестница 1–5) | -| sched F&F r1–r7 | 🟢 **цикл ЗАКРЫТ** | `sched/.agents/inbox/.read/2026-08-18T09-44-00Z-sched-fnf-r7-closed.md` | -| docs-polish раунд (предложение sched) | ⚫ **отклонено юзером** («пока не делаем») | — | +| sched F&F r8 (schedule-as-entity) | 🟡 **№5 (UI) ПРИНЯТ 17:06Z** — цикл U1→U4 закрыт: U1/U2 ✅ (0.2.1), U3 ✅ (0.2.2), U4 ✅ (0.2.3), runtime-бейдж ✅. Приёмка отправлена (`sched/.agents/inbox/.read/2026-08-18T17-06-00Z-admin-fnf-r8-item5-accepted.md`). **Ждём письмо-подтверждение закрытия r8** от sched (процедура + log.md + строка runtime-бейдж в 10.ui.md) | `sched/.agents/inbox/` — ждать `sched-fnf-r8-*-closed` | +| sched CLI-F&F (после r8) | ⚪ агент пингует сам после закрытия r8 (check-worker фолд в cli-operator, таска ⚪ ready на их борде) | их пинг | +| books-sched-integration (Phase 3) | ⚪ их работа; приёмка только по их пингу | — | | llm-router / routerai | ⚫ **выброшено** — юзер: «забудь, сделано». НЕ трогать | — | -| books-sched-integration (Phase 3, сторона sched) | ⚪ их работа; приёмка только по их пингу | — | - -## F&F r8 стенд (важно для следующей сессии) -- Стенд: `C:\Users\vitya\projects\.admin\.tmp\sched-r8\` — package.json (**core 0.40.1 / daemon 0.2.0 / storage-* 0.3.1** из verdaccio), `legacy/` (старый core 0.35.1 для - генерации v0.6-БД), docker-контейнеры `sched-*-test` (mysql :3308, mariadb :3307, - pg :5433, mongo :27017; root:test / postgres:test — как в CI sched). -- Репро-скрипты: `migration-test.mjs` (sqlite v0.6→v0.7 ✅), `adapter-migration-test.mjs` - (**F2**: mysql/pg v5 синтез=1, due стреляет ✅), `priority-order-test.mjs` (**F1**: priority 10 впереди ✅), - `tasks-json-test.mjs` (модель ✅, **на Windows: rmSync до DatabaseSync — иначе EBUSY**), - `adapters-spotcheck.mjs` (12/12 ✅), `daemon-e2e.mjs` ✅, `mongo-synthesis-test.mjs` - (**F2 mongo**: first-open синтез, no-dup, gate; легаси-док в `sched_tasks` с config.data + paused/disabled). -- **№2 движок (75/75)**: `engine-runs-test.mjs` (16 — scheduleId/data/trigger/manual/retryRun), - `engine-due-claim-test.mjs` (10 — priority-порядок, ceiling с блокирующим раннером, pause, once, catch-up), - `engine-retry-test.mjs` (27 — ретраи на строках, override, onRunFinal-семантика), - `engine-watchdog-test.mjs` (14 — reap оба набора, heartbeat real-clock, recover), - `engine-async-test.mjs` (8 — async poll через schedule, poll timeout). - ВАЖНО для тестов движка: фейк-часы монотонны; отдельный DB на сценарий; async-тест rmSync'ит db в начале (иначе флак). -- **№3 политики (21/21)**: `engine-policy-test.mjs` — whole-no-merge (override не наследует multiplier из задачи), - snapshot-семантика (пендинг-ретрай не пересчитывается правкой; свежая политика со следующего диспатча), - pause AND два уровня, manual=дефолты задачи, priority-микс. ВАЖНО: retryCount на строке = consumed-попытки (кумулятив); тай-брейк priority-равных — по id. -- `contract-parity.test.mjs` (vitest): sqlite 49/49 + mongo 49/49 ✅; mysql/pg/mariadb на этом хосте непрактичны (~11s DDL на open > vitest 10s timeout) — НЕ гейт. -- Убитые в этой сессии висельники прошлой: tmp-retest*.mjs ×4, daemon.mjs, стенд-daemon (sched.db), vitest-воркер. ## Спроси user'а -- (нет на этом раунде — F&F r8 идёт по их письмам; №4/№5 придут в инбокс) +- (нет на этом раунде) — pending решений нет: r8-цикл на стороне sched, CLI-F&F по их пингу. ## Не делать (preemptive guards) -- llm-router / routerai — user: «забудь, сделано». НЕ трогать. -- docs-polish раунд — отклонён user'ом. НЕ предлагать снова. -- sched-проект: НЕ пушить, НЕ трогать их доску — только репортить через их инбокс. -- books-sched-integration (Phase 3): приёмка только по их пингу, сами не начинать. +- Не стартовать CLI-F&F раунд до письма о закрытии r8 (агент сам пингует). +- Не трогать стенд `.tmp/sched-r8/` (жив на 0.2.3: :8080 backend + :8081 serve) без запроса; ui.db содержит тестовые runtime-строки — ui-backend.mjs сам сбрасывает при рестарте. +- НЕ лезть в код sched-проекта — ретестер/координатор, не имплементер (round-procedure). +- НЕ трогать books Phase 3 — их зона. ## Memory updates за сессию -- (предложено на ритуал закрытия: sched-fnf-r8-verification-stand + windows-docker-test-harness-gotchas — ждёт подтверждения user'а) +- (нет на этом раунде — вики-концепт `sched-fnf-r8-verification-stand` заингестен прошлой сессией; эта сессия работала по нему)