ORCH-073: SHA-in-main merge-verify + main regression guard #77
Reference in New Issue
Block a user
Delete Branch "feature/ORCH-073-crit-main-orch-067-069"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
CRIT: системный фикс эрозии
main+ восстановление кода ORCH-067/069 (G1 уже сделан restore-PR #76; здесь — устранение корня навсегда).verify_merged_to_main: подтверждение merge ТОЛЬКО поgit merge-base --is-ancestor <validated_sha> origin/main(OR-веткаpr_already_mergedудалена). Пустой SHA / git-ошибка → False, never-raise.pr_already_merged→ idempotency-guard: засчитывает PR лишь приmerged & head.ref==<branch> & base.ref=="main"(исключает авто docs-PR).merge_prвыбирает open code-PR поhead==<branch>Иbase==main; merge только Gitea PR-API.check_main_regressionв_handle_merge_verify(после SHA-в-main, доdone): проверяетMAIN_REGRESSION_MARKERSвorigin/main;count==0→ alert «main regressed» + HOLD (НЕ done, без отката), git-ошибка грепа → fail-open. Kill-switchORCH_REGRESSION_GUARD_ENABLED; non-self → no-op..gitattributes:CHANGELOG.md merge=union.Инварианты
STAGE_TRANSITIONS/QG_CHECKS/deploy-status/merge-gate/image-freshness/схема БД/HTTP API — без изменений; non-self — no-op (INV-5); merge только PR-API без force-push (INV-2).Test plan
pytest tests/ -q→ 941 passed; ruff clean on changed files (TC-19)Docs
CHANGELOG (Unreleased), .env.example; README + ADR обновлены архитектором.
Refs: ORCH-073
e3a818b5dcto1f0929838a