From cfc4e0a853ebcd786e3cdf80118e3696f7d1beb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Tue, 9 Jun 2026 03:14:24 +0300 Subject: [PATCH] =?UTF-8?q?fix(observer):=20release-=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D1=81=20=D0=BD=D0=B5=20=D0=BB=D0=BE=D0=B2=D0=B8=D1=82=20?= =?UTF-8?q?=D0=B3=D0=BE=D0=BB=D1=8B=D0=B9=20commit=20(P3=20E/G)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit classifyTask: убран commit из release-регекса (коммит != релиз). push/merge/deploy/release/релиз/тегни остаются. Аналитика-only, гейтов-потребителей нет. Регрессия 3175 passed. --- tools/observer-transcript-parser.mjs | 2 +- tools/observer-transcript-parser.test.mjs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/observer-transcript-parser.mjs b/tools/observer-transcript-parser.mjs index fc37421b..87829aba 100644 --- a/tools/observer-transcript-parser.mjs +++ b/tools/observer-transcript-parser.mjs @@ -212,7 +212,7 @@ export function classifyTask(text) { if (/обнови эталон|sync memory|обнови (?:память|memory|memory\.md)/.test(t)) return 'memory-sync'; if (/обнови claude|правк[аи] pravila|update pravila|обнови psr|обнови tooling|нормативка/.test(t)) return 'regulatory-bump'; if (/план|plan\b|спроектируй|design\b|brainstorm|обсудим/.test(t)) return 'planning'; - if (/\bpush\b|\bmerge\b|\bdeploy\b|\bcommit\b|\brelease\b|релиз|тегни/.test(t)) return 'release'; + if (/\bpush\b|\bmerge\b|\bdeploy\b|\brelease\b|релиз|тегни/.test(t)) return 'release'; if (/рефактор|refactor/.test(t)) return 'refactor'; if (/баг|bug|почини|исправ|fix\b|сломан|broken/.test(t)) return 'bugfix'; if (/фич|feature|добав|implement|реализ|создай|create|новый|new /.test(t)) return 'feature'; diff --git a/tools/observer-transcript-parser.test.mjs b/tools/observer-transcript-parser.test.mjs index ffc19cc9..8102ba92 100644 --- a/tools/observer-transcript-parser.test.mjs +++ b/tools/observer-transcript-parser.test.mjs @@ -949,6 +949,9 @@ describe('classifyTask — extended dictionary (Task 1)', () => { expect(classifyTask('merge feature-branch')).toBe('release'); expect(classifyTask('сделай release v2')).toBe('release'); }); + it('does NOT classify a plain commit (no push/release) as release', () => { + expect(classifyTask('commit the auth changes')).not.toBe('release'); + }); it('classifies cleanup prompts', () => { expect(classifyTask('убери временные файлы')).toBe('cleanup'); expect(classifyTask('cleanup тулчейн')).toBe('cleanup');