architect/standards/PROJECT_PROCESSES.md

PROJECT_PROCESSES — Процессы ведения проекта

Версия: 1.0.0
Дата: 2026-03-07


1. Зачем этот документ

Описывает как работать с проектом: создать, вести, передать, закрыть.
Универсально для любого типа (biz, it, org, ops и т.д.).

Читать вместе с:
- PROJECT_STANDARD.md — структура файлов
- PROJECT_TYPOLOGY.md — типы проектов
- PROJECT_DOCUMENTS.md — какие документы нужны


2. Жизненный цикл проекта

IDEA → DESIGN → BUILD → LAUNCH → RUN → CLOSED
Стадия Что происходит Триггер перехода
IDEA Формулируем зачем и что Есть BRIEF или CONCEPT
DESIGN Проектируем как Есть REQUIREMENTS + DESIGN
BUILD Строим: код, данные, процессы Результат задеплоен/протестирован
LAUNCH Запускаем для пользователей Реальные пользователи есть
RUN Эксплуатируем, развиваем
CLOSED Завершён, передан в архив Решение принято

В STATUS.md всегда указана текущая стадия.


3. Процесс: СОЗДАТЬ проект

ШАГИ:
1. Определить тип проекта         PROJECT_TYPOLOGY.md
2. Определить место в иерархии    где лежит родитель?
3. Скопировать шаблон             architect/templates/@{тип}/
4. Переименовать папку            @{тип}-{имя}/
5. Заполнить AI.md                контекст (1-2 абзаца, ключевые файлы)
6. Заполнить STATUS.md            стадия: IDEA
7. Создать первую запись LOG.md   дата  инициализация проекта
8. Обновить INDEX.md родителя     добавить ссылку на новый проект

Чеклист создания:


4. Процесс: ВЕСТИ проект (ежедневно)

Каждое изменение:

СДЕЛАЛ ЧТО-ТО ЗНАЧИМОЕ:
  → Обновить STATUS.md   (что сейчас, что дальше, что заблокировано)
  → Добавить в LOG.md    (дата — что решили — почему)

СОЗДАЛ НОВЫЙ ФАЙЛ:
  → Добавить в INDEX.md  (ссылка + краткое описание)

ФАЙЛ УСТАРЕЛ:
  → Переместить в arh/
  → Убрать из INDEX.md

Правила LOG.md:

YYYY-MM-DD — Что решили / что изменили / почему
YYYY-MM-DD — Что решили / что изменили / почему

Правила STATUS.md:

**Стадия:** BUILD
**Что делаем:** Импорт данных каталога в Drupal
**Заблокировано:** — (нет блокеров)
**Следующий шаг:** Тестирование модуля импорта
**Обновлено:** 2026-03-07

5. Процесс: ПЕРЕХОД между стадиями (Stage Gate)

Перед переходом — проверить критерии:

IDEA → DESIGN

✓ Понятно зачем проект (BRIEF.md заполнен)
✓ Понятно что делаем (CONCEPT.md или первый абзац AI.md)
✓ Определён тип проекта

DESIGN → BUILD

✓ Требования зафиксированы (REQUIREMENTS.md)
✓ Архитектура описана (DESIGN.md для IT/RD)
✓ Ресурсы есть (люди, время, деньги)

BUILD → LAUNCH

✓ Результат создан и протестирован
✓ Документация актуальна (INDEX.md, README.md)
✓ Для IT: LAUNCH.md заполнен, деплой проверен

LAUNCH → RUN

✓ Реальные пользователи или результат принят
✓ Мониторинг / поддержка настроена

* → CLOSED

✓ Явное решение закрыть (запись в LOG.md)
✓ Передача: документация актуальна, преемник определён
✓ Архивирование: устаревшие файлы → arh/
✓ STATUS.md обновлён: стадия CLOSED

6. Процесс: САНАЦИЯ проекта

Санация — аудит и приведение существующего проекта к стандарту.
Когда делать: при передаче, после долгого перерыва, при накоплении мусора.

АЛГОРИТМ САНАЦИИ:

1. ИНВЕНТАРИЗАЦИЯ
   → Найти все файлы проекта (включая вложенные папки)
   → Составить список: файл, размер, дата изменения

2. КЛАССИФИКАЦИЯ
   → Для каждого файла: входит ли в разрешённые имена?
   → Обязательный по типу? Опциональный? Лишний?

3. ДЕЙСТВИЕ с каждым файлом:
   ├── Обязательный и актуальный → оставить, проверить содержимое
   ├── Обязательный, но отсутствует → создать
   ├── Полезный но не стандартное имя → переименовать / влить в стандартный
   ├── Дублирует другой → объединить, лишний → arh/
   └── Устарел / не нужен → arh/

4. ОБНОВЛЕНИЕ
   → INDEX.md — отражает только актуальное
   → STATUS.md — актуальная стадия
   → LOG.md — запись о санации

5. ФИНАЛ
   → Проверить чеклист из PROJECT_DOCUMENTS.md (раздел 9)
   → Зафиксировать в LOG.md: "YYYY-MM-DD — Санация проведена"

7. Процесс: ЗАКРЫТЬ / АРХИВИРОВАТЬ проект

1. Обновить STATUS.md  стадия: CLOSED
2. Написать итог в LOG.md:
   "YYYY-MM-DD — Проект закрыт. Причина: [причина]. Результат: [результат]"
3. Устаревшие рабочие файлы  arh/
4. DESIGN.md, BRIEF.md, CONCEPT.md  пометить # FROZEN вверху
5. Обновить INDEX.md родителя:
    Пометить проект как [CLOSED] или убрать из активных

8. Процесс: ПЕРЕДАТЬ проект (онбординг)

Когда новый человек или AI-агент принимает проект:

ЧИТАТЬ В ПОРЯДКЕ:
1. AI.md         → что это, текущее состояние, ключевые решения
2. STATUS.md     → где стоим, что делаем, что заблокировано
3. INDEX.md      → что где лежит, навигация
4. LOG.md        → последние 5-10 записей (история решений)
→ Достаточно для понимания контекста без чтения всего остального

9. Алгоритм рекурсивного обхода (для AI)

AI-агент может обойти всё дерево проектов и выполнить задачу на каждом уровне:

def process_project(path):
    # 1. Прочитать контекст
    ai_md = read(path / "AI.md")          # или CLAUDE.md
    status = read(path / "STATUS.md")
    index  = read(path / "INDEX.md")

    # 2. Понять уровень
    project_type = ai_md.type             # org, biz, it, module...
    stage        = status.stage           # IDEA, BUILD, RUN...

    # 3. Найти подпроекты
    subprojects = find_subprojects(index) # папки с @ или ссылки в INDEX

    # 4. Рекурсия вглубь
    for sub in subprojects:
        process_project(sub)

    # 5. Выполнить задачу на этом уровне
    do_task(path, project_type, stage)

    # 6. Обновить состояние
    update_status(path / "STATUS.md")
    append_log(path / "LOG.md", "YYYY-MM-DD — задача выполнена")

# Запуск с корня
process_project("projects/org/lideravto/")

Принципы рекурсии:
- Сначала вглубь (дети до родителя)
- Каждый уровень самодостаточен (всё нужное есть в AI.md)
- После работы — обязательно обновить STATUS + LOG
- Если уровень CLOSED → пропустить (не трогать)


10. Стандартные триггеры для AI

При работе с любым проектом AI должен:

Триггер Действие
Открыл проект Прочитать AI.md → STATUS.md → INDEX.md
Создал файл Добавить в INDEX.md
Изменил состояние Обновить STATUS.md
Принял решение Записать в LOG.md
Файл устарел Предложить → arh/
Задача выполнена STATUS.md + LOG.md
Переход стадии Проверить Stage Gate (раздел 5)

11. Техническая модель стадий артефактов

Параллельно с жизненным циклом проекта (IDEA→CLOSED) каждый
артефакт (код, документ, данные) имеет технический статус:

DRAFT → DEV → TEST → PROD → ARCHIVE
Стадия Статус в index.yaml Описание
DRAFT draft Черновик, планирование
DEV development Активная разработка
TEST testing Тестирование / staging
PROD active Продакшн, эксплуатация
ARCHIVE archived Не используется

Дополнительные статусы:

Статус Когда
deprecated Устарело, но ещё работает
suspended Приостановлено
failed Не прошло тест
cancelled Отменено

Условия переходов:

Переход Условие
DRAFT → DEV Требования определены
DEV → TEST Код готов, тесты написаны
TEST → PROD QA одобрено
PROD → ARCHIVE Замена готова

Связи


Обновлено: 2026-03-07