Files
admin/.tasks/NEXT_SESSION.md

44 lines
4.8 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-20T19:20:00Z
session_id: sched-pipelines-setup-2026-08-20
---
# Next session handoff
Сессия: сборка локального sched-стенда + интеграция 2 воркеров (yandex/ozon) + email-канал + dry-run.
## Recent commits (в .admin)
- `d4828592` tasks: план vitya — sched-фикс → параллельный dry-run → verdaccio → books
- `4f5f4738` tasks: оба dry-run зелёные (yandex 11/11, ozon 9/9)
- `c99e0472` ops: yandex dry-run SUCCESS (11/11), мок unisender работает
- `859304de` tasks: email канал ожил (tracking-домен trk.snolla.com активен)
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| `sched-pipelines-local-stack` (🟡 active) | стенд жив: schedd 0.4.2 + ym/ozon воркеры + browser + ntfy + alert-bridge + unisender-mock; оба dry-run зелёные | `.tasks/sched-pipelines-local-stack.md` + `host-stacks/local/sched-pipelines/` |
## Спроси user'а
1. **Фикс sched ПРИЛЕТЕЛ (письмо 19:20Z) — применять в следующей сессии**: core 0.45.0 / daemon 0.5.0 на verdaccio (latest), коммиты 4cff4c1 + ca617b3. Реализовано: (1) envelope-дыра → громкий broken-worker; (2) относительный statusUrl резолвится (new URL(statusUrl, cfg.url)); (3) poll-флейк → ретрай 2×500мс + метка `http runner: poll failed:`; (4) НОВОЕ — run-deadline контракт: task-level `timeoutMs` в tasks.json (`-1` = никогда, `>0` = фейл через N мс, absent = legacy). **Рекомендация sched: поставить `"timeoutMs": -1` на обе пайплайн-таски (ozon + yandex)**. После обновления schedd: **одновременный dry-run обеих тасок через sched** (ozon + yandex в параллель, конкурентность — план vitya).
2. **GO на реальный прогон** — пока НЕ дан. План vitya: сначала публикация на **verdaccio** (не npmjs!) → **books тестирует** (у него тесты) → потом релиз. Воркерам: `registry: https://verdaccio.kzntsv.site` + `NPM_TOKEN` verdaccio (в `~/.npmrc`), НЕ npmjs-токен.
3. **«Да» по 2 фичам sched** (обе ⚪ на их доске): `http-runner-envelope-violation`, `http-runner-relative-status-url`. Poll-баг уже в работе по заданию vitya (`http-runner-poll-error-resilience`).
4. **VDS-миграция** — после пары дней локально + зелёных реальных прогонов.
## Не делать
- Не запускать реальные публикации (publish/githubDistro) без явного GO.
- Не слать реальные письма unisender — только мок (`data-mail/`); email-каналы воркеров указывают на мок.
- Не патчить код команд — ТЗ через их инбоксы, они пушат, я пересобираю.
- Не коммитить в репо команд (yandex/ozon/sched) — только в .admin.
- schedd: НЕ использовать debug-fetch обёртку (убрана).
## Memory updates за сессию
- **Контракт Unisender Go** (проверен живьём): `POST goapi.unisender.ru/ru/transactional/api/v1/email/send.json`, ключ `X-API-KEY`-заголовок или `api_key` в теле, вложенный `message {template_engine, body.{plaintext|html}, subject, from_email, from_name, recipients[]}`; `body.text` → 400 code 1577. Требует tracking-domain (NS-делегация на uns1-3.unisender.com) + sender-domain (SPF/DKIM/hash). Кандидат на wiki-ingest.
- **reg.ru API**: клиентский SSL-серт (генерил openssl, ключ в pass `reg-ru/snolla-com-api-key|cert`, вставлен в панель); DNS-команд в API НЕТ (NO_SUCH_COMMAND) — записи только панелью; панель дописывает домен к имени поддомена (`trk` а не `trk.snolla.com` — иначе `trk.snolla.com.snolla.com`). Кандидат на wiki-ingest.
- **Секреты**: `pass sched-pipelines/local/*` (sched-api-key, admin-key, webhook-secret, unisender-go-api-key), `pass reg-ru/snolla-com` (+ api-key/cert). GH-токен OpeItcLoc03 — репо в оргах создаёт (apilki admin, проверено).
- **GitHub**: apilki/ozon-seller-typescript, apilki/ozon-seller-postman, apilki/yandex-market-postman ещё не существуют — создадутся при первом реальном publish (create-if-missing у обоих воркеров).