--- _last_updated_: 2026-08-18T15:30:00Z session_id: 2026-08-18-pi-sched-fnf-r8-entity --- # 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 ## 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) | ⚫ **отклонено юзером** («пока не делаем») | — | | 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 придут в инбокс) ## Не делать (preemptive guards) - llm-router / routerai — user: «забудь, сделано». НЕ трогать. - docs-polish раунд — отклонён user'ом. НЕ предлагать снова. - sched-проект: НЕ пушить, НЕ трогать их доску — только репортить через их инбокс. - books-sched-integration (Phase 3): приёмка только по их пингу, сами не начинать. ## Memory updates за сессию - (предложено на ритуал закрытия: sched-fnf-r8-verification-stand + windows-docker-test-harness-gotchas — ждёт подтверждения user'а)