/**
 * @defgroup public_capital_planning_process Планирование проекта
 * @ingroup public_capital_processes
 * 
 * Процесс определения ответственных лиц и целевых ориентиров проекта.
 * План задаёт экономическую рамку: планируемое время создателей и сопутствующие расходы.
 * 
 * ## Назначение процесса
 * 
 * Планирование создает основу для всех последующих расчетов в проекте, определяет ответственных 
 * за управление проектом и его соавторов, устанавливает плановые показатели времени, ставок и 
 * расходов, рассчитывает необходимые инвестиции и планируемые премии, а также создает основу 
 * для контроля исполнения проекта на всех этапах его жизненного цикла.
 * 
 * \htmlonly
 * <div class="mermaid">
 * sequenceDiagram
 *     participant У as Председатель
 *     participant К as Контракт Capital
 *     
 *     У->>К: 1. Назначение мастера проекта
 *     Note over К: Проверка УХД и приложения мастера
 *     
 *     loop Добавление авторов (до 12)
 *         У->>К: 2. Добавление автора
 *         Note over К: Проверка лимита авторов
 *     end
 *     
 *     У->>К: 3. Установка плана проекта
 *     Note over К: Расчёт всех плановых показателей <br>-Себестоимость создателей и авторов<br>-Премии всех участников<br>-Необходимые инвестиции<br>-Коэффициенты распределения<br>-
 *     
 *     opt При необходимости
 *         У->>К: 4. Расширение сметы расходов
 *         Note over К: Увеличение target_expense_pool
 *     end
 * </div>
 * \endhtmlonly
 * 
 * ## Пошаговое описание процесса
 * 
 * ### Шаг 1: Назначение мастера проекта
 * <b>Действие:</b> @ref capital::setmaster "Назначение мастера проекта"
 * 
 * Назначается ответственный за управление проектом, который должен иметь активный договор УХД 
 * и подписанное приложение к договору по данному проекту. Мастер получает права управления 
 * проектом, включая управление планом проекта, добавление авторов, приём коммитов от создателей 
 * и управление ходом генерации.
 * 
 * @post Проверка авторизации кооператива
 * @post Подтверждено существование проекта
 * @post Подтвержден активный договор УХД мастера
 * @post Подтверждено участие мастера в проекте
 * @post Мастер проекта назначен
 * 
 * ### Шаг 2: Добавление авторов проекта
 * <b>Действие:</b> @ref capital::addauthor "Добавление автора в проект"
 * 
 * Добавление соавторов проекта (до максимума MAX_PROJECT_AUTHORS = 12), которые указываются 
 * по факту участия в создании идеи или технического задания. Авторы получают право на авторские 
 * премии и участвуют в голосовании по методу Водянова.
 * 
 * @post Проверка авторизации кооператива
 * @post Подтверждено существование проекта
 * @post Проверка лимита авторов (не более 12)
 * @post Подтвержден активный договор УХД автора
 * @post Автор добавлен к проекту
 * 
 * ### Шаг 3: Установка плана проекта
 * <b>Действие:</b> @ref capital::setplan "Установка плана проекта"
 * 
 * Мастер устанавливает ключевые плановые показатели проекта, включая планируемое время создателей 
 * в часах, планируемые дополнительные расходы и нормативную стоимость часа для расчетов. На основе 
 * этих данных автоматически рассчитываются все плановые показатели проекта.
 * 
 * @post Проверка авторизации кооператива
 * @post Подтверждено существование проекта
 * @post Проверка соответствия мастера проекта
 * @post Проверка статуса проекта (должен быть pending)
 * @post Валидация входных параметров (время, расходы, стоимость часа)
 * @post Расчет плановых показателей через ядро
 * @post Установка плановых показателей проекта
 * @post Флаг is_planed установлен в true
 * 
 * ### Шаг 4: Расширение расходов (опционально)
 * <b>Действие:</b> @ref capital::expandexpnss "Расширение сметы расходов"
 * 
 * Увеличение планируемых расходов проекта, которое может выполняться в активном проекте и 
 * увеличивает целевой размер пула расходов, корректируя плановые показатели инвестиций.
 * 
 * @post Проверка авторизации кооператива
 * @post Подтверждено существование проекта
 * @post Проверка статуса проекта (должен быть active)
 * @post Валидация дополнительных расходов
 * @post Увеличение target_expense_pool на указанную сумму
 * 
 * ## Математические основы планирования
 * 
 * ### Базовые принципы расчёта
 * 
 * Планирование проекта основывается на следующих принципах:
 * 1. Себестоимость создателей рассчитывается как произведение планируемого времени на стоимость часа
 * 2. Себестоимость авторов составляет 61.8% от себестоимости создателей (золотое сечение)
 * 3. Координаторские премии рассчитываются как процент от общей суммы (настраивается в конфиге контракта кооператива, 4% по дефолту)
 * 4. Премии создателей и авторов составляют 100% от их себестоимости
 * 5. Премии участников составляют 161.8% от себестоимости вкладов авторов, создателей, координаторов
 * 
 * ### Пример расчёта (500 часов, 2000 RUB/час, 4% координаторам)
 * 
 * При планировании проекта с 500 часами, стоимостью часа 2000 RUB и 4% для координаторов:
 * ``` cpp
 *  creators_base_pool (себестоимость создателей) = 500 часов × 2000 руб / час = 1,000,000 RUB
 *  authors_base_pool (себестоимость авторов) = 1,000,000 × 0.618 = 618,000 RUB  
 *  coordinators_base_pool (себестоимость координаторов) = (1,000,000 + 618,000) × 0.04 = 64,720 RUB
 *  creators_bonus_pool (премии создателей) = 1,000,000 × 1.0 = 1,000,000 RUB
 *  authors_bonus_pool (премии авторов) = 618,000 × 1.0 = 618,000 RUB
 *  total_generation_pool (сумма генерации) = creators_base_pool + authors_base_pool + coordinators_base_pool + creators_bonus_pool + authors_bonus_pool = 3,236,000 RUB
 *  contributors_bonus_pool = 3,236,000 × 1.618 = 5,233,848 RUB
 *  plan_invest = creators_base_pool + authors_base_pool + coordinators_base_pool = 1,682,720 RUB
 * ```
 * ## Результат процесса
 * 
 * После завершения планирования:
 * 1. Назначены ответственные лица (мастер, авторы)
 * 2. Установлены плановые показатели всех видов себестоимости и премий
 * 3. Рассчитана необходимая сумма инвестиций
 * 4. Создана основа для контроля генерации проекта
 * 5. Проект готов к открытию для инвестиций
 * 
 * ## Связанные процессы
 * - @ref public_capital_project_investment_process "Инвестиции в проект" - план определяет необходимые инвестиции
 * - @ref public_capital_voting_process "Голосование" - авторы участвуют в голосовании по методу Водянова
 */