docs(handoff): сессия 0.2.0-симуляция завершена — стенд откачен, sched-vds-deploy paused
This commit is contained in:
@@ -1,59 +1,51 @@
|
||||
_last_updated_: 2026-08-21T07:55:00Z
|
||||
session_id: publish-mock-green-idempotency-2026-08-21
|
||||
---
|
||||
_last_updated_: 2026-08-21T22:07:38Z
|
||||
session_id: mock-0.2.0-simulation-2026-08-21
|
||||
---
|
||||
|
||||
# Next session handoff
|
||||
|
||||
Сессия: **мок-publish кампания ЗАКРЫТА** — оба пира зелёные в моке, идемпотентность
|
||||
подтверждена, режекты закрыты. Осталось: реальный деплой (отмашка юзера) +
|
||||
кейс обновления спеки (сработает сам при апдейте апстрима).
|
||||
Сессия: **мок-кампания финализирована** — оба пира зелёные (0.1.0 publish), идемпотентность
|
||||
подтверждена, кейс «спека изменилась → 0.2.0» проверен симуляцией на обоих воркерах и
|
||||
откачен. Стенд в состоянии «0.1.0 published, повторные раны noop». Осталось: реальный
|
||||
деплой (за отмашкой юзера).
|
||||
|
||||
## 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)
|
||||
- .admin `2f820d25` meta(tasks): **sched-vds-deploy → 🟡 paused** (решение vitya: ждём результатов миграции books→sched, phase-3)
|
||||
- .admin `7a3b73c0` chore(stand): кейс спека→0.2.0 проверен симуляцией + откат (handoff-апдейт)
|
||||
|
||||
## Состояние мок-стенда (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 `689637b3` ✅ publish **0.1.0** (бутстрап, state был сброшен), yandex `d404ac80` ✅ outcome **published**; повторные `7f982865`/`7cbf1d67` → **noop** ✅
|
||||
- **Кейс 0.2.0 проверен симуляцией**: обоим воркерам подложен апстрим-апдейт с `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; ozon хэширует один файл, yandex — дерево).
|
||||
- **Откат**: снапшот 2026-08-21 удалён, upstream-mock удалён, tasks.json repo → реальный github, clone пересоздан с реального апстрима `6be0108668e6`, state восстановлен из `*.bak-2026-08-21` (оба 0.1.0). Контрольный ран: **noop у обоих** ✅
|
||||
- Остатки: `data-ozon/state.json.bak-2026-08-21` untracked (мусор, можно gitignore'нуть `*.bak` в data-*).
|
||||
|
||||
## Стенд-особенности
|
||||
## Open треки
|
||||
|
||||
- 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 и т.д.).
|
||||
| Трек | Готовность | Entry-point |
|
||||
|---|---|---|
|
||||
| Реальный деплой (npmjs + github.com) | ждёт отмашки | NEXT_SESSION «Спроси user'а» |
|
||||
| sched-vds-deploy | 🟡 paused | .tasks/STATUS.md — ждёт результатов books→sched |
|
||||
| books миграция на sched | в процессе | victor/books `sched-migration-phase-3` (blocked до закрытия phase-3), victor/sched `books-sched-integration` (paused) |
|
||||
|
||||
## Спроси user'а
|
||||
|
||||
- **Реальный деплой**: npmjs + github.com (не мок). Требует отмашки + настоящие
|
||||
NPM_TOKEN/GITHUB_TOKEN (в pass). Юзер ранее: «в следующей сессии» / «жди обоих».
|
||||
Не гонять без явной команды.
|
||||
- **Реальный деплой**: npmjs + github.com (не мок). Требует отмашки + настоящие NPM_TOKEN/GITHUB_TOKEN (в pass). Юзер: «по результатам решим» (в контексте sched-vds-deploy); про реальный деплой apilki-билдеров отмашки не было. Не гонять без явной команды.
|
||||
- (нет на этом раунде)
|
||||
|
||||
## Не делать (preemptive guards)
|
||||
|
||||
- Не запускать реальный publish в npmjs/github.com без явной отмашки.
|
||||
- Не писать токены в git/handoff/письма (secrets rule: только pass).
|
||||
- Не лезть в код агентов самим (юзер: «ты сам в код не лезь») — фиксы через
|
||||
режект-письма; исключение — стенд-конфиг (.admin) и мои инжекции типа a131fd2.
|
||||
- **sched-vds-deploy не запускать** — paused по решению vitya (2026-08-21), ждём миграцию books→sched.
|
||||
- Не писать токены в git/handoff/письма (secrets rule: только pass). ⚠️ В tasks.generated.json живёт токен в PUBLISH_REMOTE_BASE — gitignored, не коммитить.
|
||||
- Не лезть в код агентов самим (юзер: «ты сам в код не лезь») — фиксы через режект-письма; исключение — стенд-конфиг (.admin).
|
||||
- Не трогать `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.
|
||||
- **publish-model подтверждён живьём**: спека→minor (0.1.0→0.2.0), рецепты→patch (0.1.0→0.1.1), старт 0.1.0 без бампа, noop при отсутствии изменений. Оба воркера идентичны.
|
||||
- **Кандидат на wiki-ingest (shared)**: паттерн «симуляция апстрим-апдейта в мок-стенде» — подложить снапшот (ozon) / локальный git-апстрим (yandex, fetch.js принимает локальный путь) + откат (restore state из .bak + контрольный noop-ран). Не заингещено — предложить юзеру.
|
||||
- **Кандидат (из прошлой сессии, не заингещено)**: «мок не зеркалит прод-контракт» — 3 случая (readFile, fetch-Response .body, npm cwd/.npmrc) → concepts/mock-must-mirror-prod-contract.
|
||||
- Бонус-наблюдение: поллер синхронизирует доску (meta-коммиты sched-vds-deploy 10:32–11:30Z) — при пуше .admin бывает не-fast-forward, тянуть `--ff-only` после stash.
|
||||
|
||||
Reference in New Issue
Block a user