mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-07 06:59:46 +00:00
process: an unproven smoke link runs the visual minimum; raster defects need a witness (#690)
The two remaining owner decisions of #690 and the legacy trivial text. - scripts/smoke-select.mjs: VISUAL_MINIMUM, eight smokes of modes, layers and rendering (under a minute locally). An executable diff with no proven link now returns and prints it instead of only "the reviewer decides"; #687 missed smoke_modes that way (item 1'). - scripts/gate-small.mjs: `--smokes` runs the minimum with the selection. - PROCESS §7.1 and AUTHOR.md: a raster, sharpness or compositing defect needs a witness red on the old code for the owner's symptom and the owner's confirmation in a real GPU browser (item 4). - PROCESS §8, TESTING.md: the minimum in the smoke-select rule. - scripts/task-packet.mjs: legacy `trivial` is product flow read as track:show (§5.1), not a short track without a spec. - Tests; mutants visual-minimum-silent-again, visual-minimum-on-proven-link, gate-small-skips-visual-minimum; task-packet-trivial-is-product-flow retargeted. Issue: #690 User-Visible: no Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
This commit is contained in:
@@ -135,15 +135,16 @@ export { hasTrackLabel, trackFromLabels };
|
||||
* сразу на S7 и никогда не несёт S1–S5, ТЗ и ревью ТЗ; поэтому любой из этих
|
||||
* признаков делает эвристику «дифф без класса A» неприменимой. S6/S7/S8 сами по
|
||||
* себе признаком не являются: их носит и инфраструктурная задача после ревью.
|
||||
* Метка `trivial` — признак сама по себе (r1 #632): короткий трек (PROCESS §5.1)
|
||||
* идёт S2 → S5 без ТЗ и без ревью ТЗ, и в S6/S7 никакого другого следа потока у
|
||||
* него нет. Ускоренный инфраструктурный вход понятия трека не имеет, поэтому
|
||||
* `trivial` на нём не бывает; `infra` рядом с ней — тематическая метка.
|
||||
* Прежняя метка `trivial` — признак сама по себе (r1 #632): такие задачи шли
|
||||
* S2 → S5 без ТЗ и без ревью ТЗ, и в S6/S7 никакого другого следа потока у них
|
||||
* нет. С #695 `trivial` читается как `track:show` (PROCESS §5.1), новым задачам
|
||||
* не ставится, но на старых остаётся. Инфраструктурный вход её не несёт; `infra`
|
||||
* рядом с ней — тематическая метка.
|
||||
*/
|
||||
export function productFlowEvidence({ status = null, labels = [], issue = {}, specs = [], reviewDocs = [], comments = [] } = {}) {
|
||||
const reasons = [];
|
||||
if (PRE_CODE_STATUSES.includes(status)) reasons.push(`статус ${status}`);
|
||||
if (labels.includes('trivial')) reasons.push('короткий трек trivial (ТЗ не пишется, §5.1)');
|
||||
if (labels.includes('trivial')) reasons.push('прежняя метка trivial — продуктовый поток, читается как track:show (§5.1)');
|
||||
if (/^#{1,3}\s*ТЗ(?![\p{L}\p{N}_])/mu.test(String(issue?.body ?? ''))) reasons.push('раздел «## ТЗ» в теле issue');
|
||||
if (specs.length) reasons.push('файл ТЗ в docs/specs');
|
||||
if (reviewDocs.some((d) => String(d.name).startsWith('SPEC-REVIEW-'))) reasons.push('документ ревью ТЗ');
|
||||
|
||||
Reference in New Issue
Block a user