Files
admin/.tasks/NEXT_SESSION.md

60 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
_last_updated_: 2026-08-20T20:15:00Z
session_id: sched-pipelines-apply-0.5.0-2026-08-20
---
# Next session handoff
Сессия: schedd 0.5.0 применён, timeoutMs -1, одновременный dry-run обеих тасок зелёный, мок-publish ТЗ разосланы.
## Recent commits (в .admin)
- `7ec721e2` ops: schedd 0.6.0 — timeoutMs применяется к существующим таскам, absent=-1 дефолт (проверено живьём)
- `3060263b` ops: стенд — schedd 0.5.0 (run-deadline), timeoutMs -1, ozon bind-mount state на хост
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| `sched-pipelines-local-stack` (🟡 active) | schedd 0.5.0; **оба dry-run зелёные через sched (ozon 8/8, yandex 11/11)**; publish-мок ТЗ на досках команд | `.tasks/sched-pipelines-local-stack.md` |
## Раунды ТЗ
**Раунд 1 (мокабельность publish, оба закрыли):**
- ozon `publish-mockable` ✅ (175/175): data.registry/remoteBase/githubApiBase + PUBLISH_* env.
- yandex `publish-mockable` ✅: data.githubApiBase для REST (registry/remoteBase были).
**Раунд 2 (Gitea-совместимость, оба на досках ⚪ `gitea-mock-publish`):**
- Мок-publish = verdaccio (npm) + наш Gitea (git.kzntsv.site, орга apilki, API v1).
- ozon: gh repo create CLI → REST POST /orgs/{owner}/repos (Gitea нет /api/v3); remoteBase URL-join.
- yandex: только remoteBase URL-join (REST уже ок).
- Репо руками НЕ создавать — create-if-missing воркерами (тестируемый сценарий). Gitea push auth проверен: x-access-token:TOKEN@ работает.
**sched** — ✅ ЗАКРЫТО (0.6.0): applyTask timeoutMs + absent=-1 дефолт, проверено живьём.
## Стенд (host-stacks/local/sched-pipelines)
- schedd **0.6.0** (daemon); tasks.json без timeoutMs — дефолт absent=-1 (никогда), применён и проверен.
- Оба воркера свежие (ozon с фиксами ТЗ №1-10: envelope реализован; ym с JSDoc-фиксом).
- Compose: ozon bind-mount `./data-ozon` → /app/data + `data-ozon/state.json` → /app/state.json (раньше state жил в слое образа). ym: `./data-ym` → /app/data.
- Находка для ozon: run.js хардкодит state/output в ROOT образа, /app/data не используется воркером — не включено в их ТЗ (могу добавить позже).
## Спроси user'а
1. **Мок-publish стенд**: после фиксов publish-mockable от обеих команд — построить мок-GitHub (локальный HTTP-мок REST + git remote на локальный bare-репо) + мок-npm (verdaccio) и прогнать publish-стадию. Либо просто ждать GO и идти на verdaccio напрямую.
2. **GO на реальный прогон** — пока НЕ дан. План vitya: verdaccio (не npmjs) → books тестирует → релиз. Воркерам: registry verdaccio + NPM_TOKEN verdaccio.
3. **VDS-миграция** — после пары дней локально + зелёных реальных прогонов.
## Не делать
- Не запускать реальные публикации (publish/githubDistro) без явного GO.
- Не слать реальные письма unisender — только мок (data-mail/).
- Не патчить код команд — ТЗ через их инбоксы/доски, они пушат, я пересобираю.
- Не коммитить в репо команд (yandex/ozon/sched) — только в .admin.
## Memory updates за сессию
- **sched run-deadline контракт**: task-level `timeoutMs` (-1 = никогда, >0 = фейл через N мс, absent = legacy 25-мин poll-потолок). Баг: applyTask при upsert не переносит timeoutMs. Требование vitya: -1 = дефолт, absent должен быть -1.
- **ozon publish.js**: npm publish хардкод (нет registry), pushUrl хардкод github.com, GH API хардкод — мокабельность только через data-поля (ТЗ).
- **ym github-distro.js**: data.registry (npm) + data.remoteBase (git remotes) уже есть; GH_API константа — нужен data.githubApiBase (ТЗ).