63 lines
3.9 KiB
Markdown
63 lines
3.9 KiB
Markdown
_last_updated_: 2026-08-21T06:30:00Z
|
||
session_id: publish-mock-verified-defer-stand-2026-08-21
|
||
---
|
||
|
||
# Next session handoff
|
||
|
||
Сессия: **оба пира код-реди, остался продакшн-стенд** — ozon fix #7 и yandex
|
||
heads-up-fix проверены независимо (код + сьюты), таски закрыты на досках
|
||
проектов. Стенд-прогон отложен юзером **на следующую сессию**.
|
||
|
||
## Recent commits (campaign-контекст)
|
||
|
||
- ozon `325376a` fix(service): createRelease читает fetch-Response через json() — режект #7 закрыт (210/210, pushed)
|
||
- ozon `efa79b6` meta(tasks): close [publish-dryrun-contract-broken]
|
||
- yandex `3d0c6fc` fix(worker): release idempotency — 409 (Gitea) || 422 (123/123, pushed)
|
||
- yandex `dc71f66` docs(handoff): release 409 idempotency note
|
||
- .admin `5b502b63` режект #7 ozon (письмо 00:05Z — уже отработан фиксом)
|
||
|
||
## Open треки
|
||
|
||
| Трек | Готовность | Entry-point |
|
||
|---|---|---|
|
||
| sched-pipelines-local-stack (umbrella, mock-publish кампания) | 🟡 код-готова, **стенд не прогнан** | `.tasks/sched-pipelines-local-stack.md` + handoff ниже |
|
||
|
||
## 🔴 ГЛАВНОЕ ДЛЯ СЛЕДУЮЩЕЙ СЕССИИ: продакшн-стенд (отмашка юзера уже есть — «в следующей сессии»)
|
||
|
||
Порядок (из писем пиров):
|
||
|
||
1. **ozon** — 2 полных рана **0.1.0 подряд** (dryRun:false): оба должны
|
||
`succeeded`. Проверяемый путь: повторный POST → Gitea 409 → GET
|
||
`releases/tags/v0.1.0` (реально отдаёт `{id: 114, ...}`) → PATCH по id
|
||
из `json()` (фикс #7). Если 2-й ран succeeded — idempotency доказана.
|
||
2. **yandex** — ран с токенами в env. Yandex явно просил: «Ждём отмашку +
|
||
NPM_TOKEN/GITHUB_TOKEN в env». Их фикс: 409||422 → GET tag + PATCH body.
|
||
3. Отчёт обоим пирам письмом в их инбоксы (имя файла по канону, `from: .admin`).
|
||
|
||
**Токены:** NPM_TOKEN + GITHUB_TOKEN — из `pass` (`pass ls` / `pass show <path>`),
|
||
НЕ из вики/конфигов (secrets rule). В handoff/git токены не писать.
|
||
|
||
## Спроси user'а
|
||
|
||
- Отмашка на стенд получена («в следующей сессии») — подтвердить перед запуском.
|
||
- (нет на этом раунде)
|
||
|
||
## Не делать (preemptive guards)
|
||
|
||
- Не паблишить в реальный GitHub/verdaccio без явной отмашки юзера на этот ран.
|
||
- Не писать токены в git/handoff/письма.
|
||
- Не трогать `llm-router-failover-proxy` (юзер закрыл 2026-08-18).
|
||
- Не гонять новые режекты пирам — оба фикса приняты; следующий шаг — только стенд.
|
||
|
||
## Memory updates за сессию
|
||
|
||
- Оба письма-отчёта обработаны и проверены независимо:
|
||
- ozon `325376a`: код нормализует чтение httpGet-ответа
|
||
(`typeof r.json === 'function' ? await r.json() : r.body`), +1 тест с реальным
|
||
`new Response(...)`; `node --test` → 210/210 (прогнал сам).
|
||
- yandex `3d0c6fc`: `409 || 422` → GET tag + PATCH; их мок даёт `json()` —
|
||
разрыва тест/прод нет; `npm test` → 123/123 (прогнал сам).
|
||
- Обе ветки master in sync с origin, таски закрыты на досках проектов.
|
||
- Кандидат на wiki-ingest (см. ритуал ниже): паттерн «мок не зеркалит
|
||
прод-контракт» — 2-й случай за кампанию (режект #2 readFile, режект #7 httpGet).
|