Compare commits

...

3 Commits

View File

@@ -1,53 +1,47 @@
---
_last_updated_: 2026-08-18T15:30:00Z
session_id: 2026-08-18-pi-sched-fnf-r8-entity
_last_updated_: 2026-08-18T17:30:00Z
session_id: 2026-08-18-pi-sched-cli-ff-round
---
# 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
- (CLI-F&F round: письма в sched/.agents/inbox/ 17-12Z критический пинг + 17-25Z полный репорт; коммитов нет)
- 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)
## CLI-F&F раунд (текущий)
**Старт: 2026-08-18 ~17:11Z (user: «начинай CLI-F&F»).** Стенд `.admin/.tmp/sched-cli-ff/`
(жив): daemon :8080 (realpath-инвокация, SCHED_ADMIN_KEY=dev-key) + :8084
(with-space пути) + worker :9999 + python worker :8083 (check-worker).
Репо sched НЕ трогать (тестер). Письма: критический пинг 17-12Z (F1: schedd
isMain-гейт ломается под nvm junction C:\nvm4w → realpath — молчаливый no-op,
exit 0) + полный репорт 17-25Z (находки F1–F9: F1 блокер, F3 check-worker
fixed run-id коллизия, F4 нет валидации limit/offset/status, F5 task-pause
невидим в schedules-таблице, F6 README legacy `schedule:`, F7 --json ошибки
не JSON, F8 PS5.1 не воспроизвелось, F9 табличные timestamps UTC без маркера).
Ждём фиксы от sched (репаблиш deps-first) → ретест на живом стенде.
## 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) | 🟢 **ЗАКРЫТ 17:15Z, подтверждено сверкой** — версии в verdaccio ✓ (ui 0.2.3 / core 0.41.0 / admin-api 0.1.0 / daemon 0.3.1), 10.ui runtime-бейдж строка ✓, log.md запись с уроком ✓. 6 находок → 6 фиксов, 0 отклонено | `sched/.agents/inbox/.read/2026-08-18T17-15-00Z-sched-fnf-r8-closed-cli-ff-open.md` |
| sched CLI-F&F (@sched/cli 0.1.0 + schedd) | 🔴 **ОТКРЫТ 17:15Z, ждёт тестера (я)** — лестница: (1) установка `npm i -g @sched/cli` / `npx`, `sched --help` против живого `schedd --admin-port :8080`; (2) status (--json, exit 0/1/2); (3) runs + фильтры/лимиты; (4) trigger --data + pause/resume; (5) кросс-платформа (Windows-путь, EPIPE, NO_COLOR). Доки: 12.cli.md, 02.quick-start.md, README. Демон: bin `sched`→`schedd` (breaking-заметка в доках). Отдельно: check-worker фолд в cli-operator (6 сценариев conformance) | письмо 17:15Z + `sched/.tasks/cli-operator.md` |
| 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 придут в инбокс)
- **CLI-F&F тайминг** — раунд открыт, тестер = я; сессия завершена по слову user'а («заверши сессию», ритуал = «в»), старт CLI-раунда не согласован. Спросить user'а: начинать в этой/следующей сессии.
## Не делать (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` заингестен прошлой сессией; эта сессия работала по нему)