60 lines
5.1 KiB
Markdown
60 lines
5.1 KiB
Markdown
_last_updated_: 2026-08-21T07:55:00Z
|
||
session_id: publish-mock-green-idempotency-2026-08-21
|
||
---
|
||
|
||
# Next session handoff
|
||
|
||
Сессия: **мок-publish кампания ЗАКРЫТА** — оба пира зелёные в моке, идемпотентность
|
||
подтверждена, режекты закрыты. Осталось: реальный деплой (отмашка юзера) +
|
||
кейс обновления спеки (сработает сам при апдейте апстрима).
|
||
|
||
## Recent commits
|
||
|
||
- .admin `96a4deb7` chore(stand): мок обоих зелёный — readmeTemplate для ozon (bind-mount), state сброшен
|
||
- ozon `8633f25` fix(publish): package-readme.md — npm-карточка + GH-штамп из шаблона, фолбэк-префикс убран (212/212)
|
||
- yandex `a4b3432` fix: версия — первый ран без бампа, база = state.publishedVersion (130/130)
|
||
- yandex `24235b1` fix(worker): gh-distro README-штамп из шаблона + сборка до создания репо
|
||
- yandex `a131fd2` fix: publish cwd=out + --access public (ENEEDAUTH) — вставил я (admin)
|
||
|
||
## Состояние мок-стенда (sched-pipelines local)
|
||
|
||
- Оба рана (ozon `3b35cb48`, yandex `898c395a`): ✅ succeeded, чистый мок
|
||
- verdaccio: `@apilki/ozon-seller@0.1.0`, `@apilki/yandex-market@0.1.0` (первый publish без бампа)
|
||
- Gitea apilki: 4 репо (typescript+postman у обоих), 4 release `v0.1.0`
|
||
- README по спеке: GH-дистро штамп `Версия: X · API от Y`, npm-карточка кастомная, бойлерплейт: 0
|
||
- Повторные раны (ozon `bbf39c1a`, yandex `869d037f`): **noop** — идемпотентность ✅
|
||
- Кейс «спека изменилась → minor++ → **0.2.0» ПРОВЕРЕН СИМУЛЯЦИЕЙ** (сессия 2026-08-21 вечер): обоим воркерам подложен апстрим-апдейт с новым эндпоинтом `GET /v1/echo` (ozon — снапшот `snapshots/2026-08-21/`, yandex — локальный mock-репо `data-ym/upstream-mock`, tasks.json `repo=/app/data/upstream-mock`). Оба независимо: publish **0.2.0** → verdaccio `@apilki/*@0.2.0` (0.1.0 в истории), gitea `v0.2.0` на 4 репо, README-штамп `Версия: 0.2.0 · API от 2026-08-21`. **Единообразие алгоритмов подтверждено** (оба: спека→minor, рецепты→patch, ref publish-model.md).
|
||
- **Откат сделан**: снапшот 2026-08-21 удалён, upstream-mock удалён, tasks.json repo → реальный github, clone пересоздан с реального апстрима `6be0108668e6`, state восстановлен из `*.bak-2026-08-21` (оба 0.1.0). Контрольный ран: **noop у обоих** ✅
|
||
|
||
## Стенд-особенности
|
||
|
||
- Ozon `package-readme.md` НЕ в образе (их Dockerfile без COPY) — работает через
|
||
`data.readmeTemplate=/app/data/package-readme.md` (bind-mount, tasks.json в .admin).
|
||
Если озон добавит COPY в Dockerfile — оверрайд можно снять.
|
||
- `tasks.generated.json` gitignored (в нём токен в PUBLISH_REMOTE_BASE).
|
||
- Токены/ключи: `pass sched-pipelines/local/*` (admin-key/SCHED_API_KEY и т.д.).
|
||
|
||
## Спроси user'а
|
||
|
||
- **Реальный деплой**: npmjs + github.com (не мок). Требует отмашки + настоящие
|
||
NPM_TOKEN/GITHUB_TOKEN (в pass). Юзер ранее: «в следующей сессии» / «жди обоих».
|
||
Не гонять без явной команды.
|
||
- (нет на этом раунде)
|
||
|
||
## Не делать (preemptive guards)
|
||
|
||
- Не запускать реальный publish в npmjs/github.com без явной отмашки.
|
||
- Не писать токены в git/handoff/письма (secrets rule: только pass).
|
||
- Не лезть в код агентов самим (юзер: «ты сам в код не лезь») — фиксы через
|
||
режект-письма; исключение — стенд-конфиг (.admin) и мои инжекции типа a131fd2.
|
||
- Не трогать `llm-router-failover-proxy` (юзер закрыл 2026-08-18).
|
||
|
||
## Memory updates за сессию
|
||
|
||
- **Артефакты для books**: verdaccio.kzntsv.site → `@apilki/ozon-seller@0.1.0`, `@apilki/yandex-market@0.1.0` (юзер скормит их books — там тесты). Доступ к verdaccio — токен из `pass`/стенда.
|
||
- Кандидат на wiki-ingest: паттерн «мок не зеркалит прод-контракт» — 3 случая за
|
||
кампанию (readFile, fetch-Response .body, npm cwd/.npmrc). Не заингещено —
|
||
предложить юзеру в след. сессии (shared wiki, concepts/mock-must-mirror-prod-contract).
|
||
- Кандидат: «репо создаётся до сборки контента → мёртвые пустышки» (github-distro).
|
||
- Ack-письма обоим пирам отправлены 07:52Z.
|