docs: add PROJECT_GOAL (north star) + MVP-1 whitelists (employees, SD projects, forecast stages)

This commit is contained in:
Roman Chesnokov
2026-05-13 20:02:27 +05:00
parent ff1db85d7c
commit 7b282af5be
7 changed files with 262 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
-- bitrix_forecast_stages.sql
-- Помечает сделки Битрикса CAT=16 в нужных стадиях флагом is_in_forecast=true для прогнозной загрузки.
-- Whitelist стадий — см. docs/superpowers/specs/mvp1-config.md
-- Сбрасываем флаг
UPDATE core.deal SET is_in_forecast = false;
-- Включаем в прогноз только 3 стадии CAT=16
UPDATE core.deal
SET is_in_forecast = true
WHERE category_id = 16
AND stage_id IN (
'C16:UC_A2446J', -- Оценка и подготовка КП
'C16:FINAL_INVOICE', -- Защита сделки
'C16:UC_U68WK1' -- Подготовка рамочного договора
);
-- Проверка
DO $$
DECLARE
n int;
BEGIN
SELECT count(*) INTO n FROM core.deal WHERE is_in_forecast = true;
RAISE NOTICE 'Bitrix deals in forecast: %', n;
END $$;
+40
View File
@@ -0,0 +1,40 @@
-- mvp1_target_employees.sql
-- Помечает целевых сотрудников MVP-1 флагом is_target_for_mvp1=true.
-- Запускать ПОСЛЕ синхронизации core.employee из BIT.RA, чтобы emails уже были в таблице.
-- Whitelist — см. docs/superpowers/specs/mvp1-config.md
-- Сбрасываем флаг у всех (на случай если кого-то убирают из MVP-1)
UPDATE core.employee SET is_target_for_mvp1 = false;
-- Помечаем целевых
UPDATE core.employee
SET is_target_for_mvp1 = true
WHERE lower(email) IN (
lower('AleUZhukov@1cbit.ru'),
lower('AKPetyanina@1cbit.ru'),
lower('AAGevorgyan@1cbit.ru'),
lower('AAPrilukov@1cbit.ru'),
lower('VVGaspirovich@1cbit.ru'),
lower('VDKhaldin@1cbit.ru'),
lower('VUKozlov@1cbit.ru'),
lower('GATokareva@1cbit.ru'),
lower('DSBulychev@1cbit.ru'),
lower('dmvmikhaylov@1cbit.ru'),
lower('EASenik@1cbit.ru'),
lower('ZGalihanova@1cbit.ru'),
lower('IAGadzhiev@1cbit.ru'),
lower('LAYagudina@1cbit.ru'),
lower('SYaMamedbakova@1cbit.ru')
);
-- Проверка: должно быть >= 15 (если не хватает — кто-то не попал из BIT.RA, разбираться).
DO $$
DECLARE
n int;
BEGIN
SELECT count(*) INTO n FROM core.employee WHERE is_target_for_mvp1 = true;
RAISE NOTICE 'MVP-1 target employees marked: %', n;
IF n < 15 THEN
RAISE WARNING 'Expected at least 15 target employees, got %. Check unmatched emails.', n;
END IF;
END $$;
+24
View File
@@ -0,0 +1,24 @@
-- sd_projects_whitelist.sql
-- Помечает SD-проекты EVA флагом is_sd=true.
-- Запускать ПОСЛЕ синхронизации core.project, чтобы коды уже были в таблице.
-- Whitelist — см. docs/superpowers/specs/mvp1-config.md
-- Сбрасываем флаг у всех (на случай корректировок)
UPDATE core.project SET is_sd = false;
-- Помечаем SD-проекты по коду EVA
UPDATE core.project
SET is_sd = true
WHERE eva_code IN ('pbsd', 'sd-perm', 'sd-czentralnyj');
-- Проверка
DO $$
DECLARE
n int;
BEGIN
SELECT count(*) INTO n FROM core.project WHERE is_sd = true;
RAISE NOTICE 'SD projects marked: %', n;
IF n != 3 THEN
RAISE WARNING 'Expected 3 SD projects, got %. Check eva_code for pbsd/sd-perm/sd-czentralnyj.', n;
END IF;
END $$;