Версия: 1.0.0
Дата: 2025-11-19
Вопрос: Как выполняются операции?
Ответ:
- Последовательность действий
- Алгоритмы
- Жизненный цикл
- Управление состоянием
НЕ описывает:
- Где находятся файлы (структурное)
- Что делает система (функциональное)
- Кто выполняет (ролевое)
Последовательность:
Определить тип →
Собрать информацию →
Создать структуру →
Создать файлы из templates →
Git commit →
Обновить workspace index
Детали: См. platform/procedures/ONBOARD_NEW_PROJECT.md
Последовательность:
Загрузить контекст →
Понять задачу →
Проверить состояние →
Выполнить изменения →
Проверить работоспособность →
Документировать →
Commit (опц)
Последовательность (10 стадий):
1. Инвентаризация
2. Анализ
3. Планирование
4. Подготовка
5. Staging
6. Валидация
7. Миграция
8. Верификация
9. Архивирование
10. Финализация
Чекпоинты после каждой стадии
Последовательность:
Найти инфру в index.yaml →
Загрузить config.yaml →
Проверить usage (ready/project) →
Получить доступы →
Подключиться (ssh/api) →
Выполнить задачу →
Документировать изменения
planning → development → testing → staging → production → archived
planning → development
- Условие: spec.md готов
- Действие: Создать solution/code/
development → testing
- Условие: Основной функционал реализован
- Действие: Создать tests/, запустить
testing → staging
- Условие: Тесты проходят
- Действие: Деплой на staging сервер
staging → production
- Условие: UAT пройден
- Действие: Деплой на production
* → archived
- Условие: Проект не нужен
- Действие: Переместить в archive/
Что: Сохранение состояния системы
Когда:
- Перед критичными изменениями
- После каждой стадии миграции
- Перед деплоем
Как:
git add .
git commit -m "checkpoint: before migration stage 5"
Что: Проверка корректности состояния
Проверки:
- Файлы существуют
- Форматы корректны
- Тесты проходят
- Сервис работает (HTTP 200)
Пример:
pytest tests/
curl -s -o /dev/null -w "%{http_code}" http://localhost:8503
# Ожидаем: 200
Что: Откат к предыдущему состоянию
Когда:
- Валидация провалилась
- Критичная ошибка
- Неожиданное поведение
Как:
git reset --hard HEAD~1 # откат коммита
# или
mv staging/ failed-staging/
mv current/ staging/ # откат папки
Вход: @latest, @stable, @v1
Выход: Конкретная версия (например, v2.0.0)
Шаги:
1. Проверить кэш
2. Парсинг типа ссылки
3. Поиск кандидатов
4. Выбор оптимальной версии
5. Кэширование
6. Возврат результата
Вход: Сложность задачи (simple/medium/complex)
Выход: Загруженный контекст
Шаги:
1. Загрузить базовый контекст (CLAUDE.md + index.yaml)
2. Если simple → вернуть
3. Если medium → загрузить дополнительно spec.md + procedures.md
4. Если complex → загрузить весь код
5. Вернуть результат
Вход: Назначение (например, "спецификация")
Выход: Путь к файлу
Шаги:
1. Загрузить index.yaml
2. Найти файл с purpose == "спецификация"
3. Если не найдено → проверить стандартные имена (spec.md)
4. Если не найдено → ошибка
5. Вернуть путь
Критичные — остановить работу
- Файл не найден
- Синтаксическая ошибка
- Сервер недоступен
Важные — сообщить, предложить варианты
- Тест провалился
- HTTP 500
- Timeout
Предупреждения — записать в лог
- Устаревшая зависимость
- Низкая производительность
Rollback:
try:
apply_changes()
except Error:
rollback_to_checkpoint()
Retry:
for attempt in range(3):
try:
execute()
break
except TemporaryError:
wait(2 ** attempt)
Fallback:
try:
use_primary()
except Error:
use_fallback()
CREATE — создание нового
- Создать проект
- Создать компонент
- Создать документ
READ — чтение существующего
- Навигация
- Анализ
- Поиск
UPDATE — изменение существующего
- Изменить код
- Обновить документацию
- Мигрировать версию
DELETE — удаление (архивирование)
- Архивировать проект
- Удалить временные файлы
- Очистить кэш
Общие:
- platform/procedures/
Специфичные для проекта:
- projects/{name}/management/procedures.md
Специфичные для инфры:
- infra/{name}/README.md
Следующее: 4-role.md — кто за что отвечает
Назад: 2-functional.md — функциональное измерение