Skip to content

release: 0.3.5 — самомиграция схемы истории (zero-touch для команды)#120

Merged
mimfort merged 4 commits into
mainfrom
dev
Jul 19, 2026
Merged

release: 0.3.5 — самомиграция схемы истории (zero-touch для команды)#120
mimfort merged 4 commits into
mainfrom
dev

Conversation

@mimfort

@mimfort mimfort commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Релиз 0.3.5

Промоут dev → main → PyPI rag-reviewer==0.3.5.

Фикс (PR #119)

ReviewHistory лениво самомигрирует схему истории на MCP-пути publish_review. Раньше миграцию outcome/reject_reason (0.3.4) применял только reviewer serve; у команды с общей БД, где reviewer-mcp обновился по @latest, а serve не перезапускался, запись истории тихо ломалась (fail-soft). Теперь любой reviewer-mcp домигрирует БД сам при первом publish_review — доставка фичи наблюдаемости через плагин действительно zero-touch.

Паттерн — по образцу mcp/session_store (_schema_ready + ленивый init_schema).

Проверки

web 46 passed (integration RED/GREEN self-migrate), install 266, полный unit 1367; ruff чист. Независимое ревью (Sonnet): Ready to merge — Yes.

mimfort and others added 4 commits July 20, 2026 02:32
_ensure_history() (путь publish_review → record_run) не вызывал init_schema,
а её применял только lifespan reviewer serve. После апгрейда деплоя, где record_run
пишет outcome/reject_reason в непромигрированную общую БД, INSERT падал → fail-soft
→ тихая потеря истории всего прогона, пока кто-то не перезапустит serve.

Фикс по образцу mcp/session_store: флаг _schema_ready + ленивый init_schema в
_connect (init_schema берёт соединение из пула напрямую — без рекурсии). Любой
reviewer-mcp сам домигрирует БД идемпотентно при первом publish_review, без
зависимости от reviewer serve. Integration-тест: старая схема (drop колонок) →
свежий ReviewHistory.record_run домигрирует и пишет, а не fail-soft None.
…ную гонку

Ревью 0.3.5 (Minor): (1) test_record_run_self_migrates_missing_columns
восстанавливает схему в finally — падение не каскадирует на последующие
integration-тесты (не полагается на self-heal фикса). (2) Документирована
допустимость гонки флага без блокировки в _connect (идемпотентность +
самоизлечение), как в session_store.
Бамп 0.3.4 → 0.3.5 + пересинк манифестов (Codex 0.3.5+codex.4ead526f7ad6).
Релиз фикса самомиграции ReviewHistory: запись истории на MCP-пути домигрирует
общую БД сама, без зависимости от reviewer serve.
fix(web): самомиграция схемы истории на MCP-пути (0.3.5)
@mimfort
mimfort merged commit 8f2fa5f into main Jul 19, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant