3.4 KiB
3.4 KiB
_last_updated_, session_id
| _last_updated_ | session_id |
|---|---|
| 2026-08-18T19:20:00Z | 2026-08-18-pi-sched-openapi-client-fnf |
Next session handoff
Recent commits
- (this commit) handoff: openapi-client F&F закрыт — репорт sched отправлен 19:15Z, коммит e89e868 (sched repo)
- e89e868 (sched repo) feat(examples): python admin client from spec — 15 путей/21 операция, 24/24, smoke 19/19
b56da997handoff: паблиш-волна sched принята (ретест Node 24 зелёный, 18-29Z)
Что сделано в этой сессии (openapi-client F&F, таска от sched 18-55Z)
- Спеку взял из verdaccio
@sched/admin-api@0.1.2(tarball = идентична репо, 15 путей/12 схем). - Клиент: Python, openapi-generator 7.24.0 (JDK 25; системная Java 8 не годится — JAVA_HOME обязателен) — «одной командой» из спеки.
- TDD: сьют до клиента (RED) → после генерации 24/24 GREEN (3 прогона стабильно), smoke 19/19.
- Код:
sched/examples/admin-client-python/(README+F&F-таблица, generate.ps1, openapi.json pinned, sched_admin_client/ checked-in, tests/, smoke.py, raw_ops.py). - Репорт:
sched/.agents/inbox/2026-08-18T19-15-43Z-admin-fnf-openapi-client-report.md— находки F-1..F-5, НЕ чинил (их импл).
Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| sched openapi-client F&F — находки F-1..F-5 | 🔵 жду их импла: F-1 /health auth-контрадикция (спека security:[], daemon с ключом 401-ит даже health); F-2 mutation-ответы {} вместо {task/run/schedule:…} (главный, ломает генераторы); F-3 const:true→строковый enum; F-4 Schedule oneOf не десериализуется; F-5 top-level dedupKey молча игнорится. По фиксам — ретест. | письмо sched 19:15Z |
| sched CLI-F&F раунд | ✅ ЗАКРЫТ | — |
| books-sched-integration (Phase 3) | ⚪ их работа; приёмка только по их пингу | — |
Стенды (все живы на конец сессии)
- :8127 — МОЙ scratch-стенд openapi-client F&F: published daemon 0.3.4, NO AUTH, db
/tmp/sched-acpy-stand/acpy.db. Гасить можно. - :8080 — sched CLI-F&F стенд (0.3.4,
SCHED_ADMIN_KEY=dev-key— ключ НАШЁЛ в старом handoff, для F&F он был нужен, но я обошёлся :8127). - :8123 — dev-билд, СТЕЙЛ (health 0.1.8): нет POST /tasks, /schedules в легаси-формате. Для контракта не годен.
Заметки на будущее
- openapi-generator + 3.1-спека: const:true → строковый enum; ответы {} → wrapped-тело валит десериализацию; oneOf+discriminator → actual_instance=None. Обход: raw-транспорт + model_validate. (Кандидат в .wiki-концепт.)
- Windows: порты 8090/8091 в excluded range (Hyper-V) — EACCES.
netsh interface ipv4 show excludedportrange. - Триггер долгого process-раннера (POST run) синхронный — ответ приходит после завершения процесса; для cancel-теста дёргать в фоновом треде.