From e1d29f32bcc73942dd496d6eb6a6e1a202ff4f9c Mon Sep 17 00:00:00 2001 From: Perplexity Computer Date: Sun, 5 Jul 2026 12:38:40 +0000 Subject: [PATCH] docs(W7): SHA-advance re-review + external-dep timer rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sibling rules к no-paste-review (все три — про temporal precision approve/merge). SHA-advance: approve привязывается к cited SHA; branch advance между approve и merge требует explicit re-confirm с delta bullet-list. Silent SHA-swap forbidden. External-dep timer: PR блокированный внешней dep обязан иметь terminal-event triggers + backstop timer (14д default). Whichever comes first. Без обоих: event-only → silent-neglect infinite draft; timer-only → waste on явно rejected. phi^2 + phi^-2 = 3 --- docs/W7_COLLAB_OPTIONS.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/W7_COLLAB_OPTIONS.md b/docs/W7_COLLAB_OPTIONS.md index 5acbf595..661963a8 100644 --- a/docs/W7_COLLAB_OPTIONS.md +++ b/docs/W7_COLLAB_OPTIONS.md @@ -64,6 +64,15 @@ Cloud: ~40 tool-часов на всю W7.1-8 minus W7.2/4. Local: ~15 час н - **Compiler-layer и testing-layer — preferred**: те же правила, exception возможен для быстрых clarification-циклов (≤10 строк diff), но final approve — против committed text. - **Enforcement**: reviewer в PR-комментарии явно ссылается на SHA (`Reviewed against ` или `Approved at `), чтобы approve был воспроизводимо привязан к точному состоянию файла, а не к транзиентному paste'у. +**SHA-advance re-review rule (sibling к no-paste-review).** Урок W7.1 (PR #44 @ 3f1d98a после approve @ 60d2e04): approve привязывается к cited SHA. Если ветка advance'нула между approve и merge — reviewer обязан re-confirm против нового SHA (`Re-reviewed at : delta `). Delta должна быть эксплицитно перечислена; silent SHA-swap не разрешён. Применимо ко всем слоям — cloud или human ownership не важен. + +**External-dep timer rule (sibling к SHA-advance).** Урок W7.1 (t27#1401 upstream tracking): PR, блокированный внешней зависимостью, не может жить draft'ом бесконечно. Все такие PR обязаны иметь в теле: + +- **Terminal event triggers**: список конкретных событий на upstream (won't-fix label, closing PR merged/closed, explicit reject) — при любом из них PR немедленно конвертируется в findings-only merge или закрывается. +- **Backstop timer**: absolute deadline (обычно 14 дней от публикации upstream issue) — покрывает silent-neglect кейс, который event-list не ловит. Whichever comes first: terminal event OR backstop timer. + +Без timer'а PR превращается в perpetual-draft; без event-override — timer тратит время на явно rejected upstream. Оба нужны. + ### Плюсы - Concern-separation даёт естественный CI разбиение — compiler layer прошёл rustc/cc/zig CI до testing layer'а.