Skip to content

fix(pipeline): defer merge behind local review - #72

Closed
ivanarama wants to merge 1 commit into
mainfrom
fix/local-review-dependency-gate
Closed

ivanarama wants to merge 1 commit into
mainfrom
fix/local-review-dependency-gate

Conversation

@ivanarama

Copy link
Copy Markdown
Owner

Что изменено

  • добавлен opt-in dispatch_gate.defer_while_queues_active для локальной зависимости между очередями до GitHub admission/reservation;
  • MERGE откладывается, пока REVIEW выполняется, готов к запуску или удерживается жёстким budget-defer, но обычный будущий recurrence REVIEW не блокирует;
  • при совместном wake локальная зависимость публикуется раньше зависящего этапа, а успешный REVIEW по-прежнему будит MERGE;
  • диагностический gate сохранил прежнюю семантику: свежий integration-review defer действует, stale/partial cache остаётся fail-open кроме явно настроенной локальной зависимости;
  • проектные preflight/fallback, base-sync и pending cleanup не изменялись.

Проверки

  • python -m pytest -q -W error — 528 passed
  • focused scheduler/budget/worker/merge-wait/fallback suite — 343 passed
  • финальный targeted regression suite — 13 passed
  • python -m compileall -q promptpilot tests
  • git diff --check

@ivanarama

Copy link
Copy Markdown
Owner Author

Не вливаю: независимое ревью выявило блокирующую семантику для рабочего графа OneBase. При REVIEW wake_after_success=[merge,review] очередь REVIEW самопробуждается, а queue-level defer MERGE видит новый REVIEW как активный; при постоянном backlog MERGE может голодать бесконечно, причём его блокирует и несвязанное content-review. Дополнительно проверка имеет TOCTOU между снимком серий и admission/reservation, а ошибка queue id сейчас fail-open. Безопасная замена в эксплуатации уже применена: приоритеты MERGE > REVIEW > FIX > TRIAGE и порядок wake REVIEW → MERGE → REVIEW без self-wake MERGE. Если возвращаться к dependency gate, нужен target-aware либо generation-token контракт и атомарная admission-проверка.

@ivanarama ivanarama closed this Sep 17, 2026
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