/**

 * @defgroup public_capital_result_process Внесение результата
 * @ingroup public_capital_processes
 * 
 * Процесс приёма паевого взноса результатом интеллектуальной деятельности
 * после завершения проекта. Включает фиксацию долей участников и **финальную
 * конвертацию сегмента** (распределение между ЦК и ЦПП «Благорост»).
 * Анкер процесса — `result_hash`.
 * 
 * @note КРИТИЧЕСКИ ВАЖНО: Этот процесс НЕ применяется к чистым инвесторам.
 * Чистые инвесторы (только роль is_investor) уже внесли свой вклад при инвестировании.
 * Они НЕ проходят через pushrslt/convertsegm — для них работает purgesegment
 * (очистка сегмента без конвертации, см. отдельный процесс).
 * Участники со смешанными ролями (инвестор + создатель/автор/координатор) вносят
 * результат только по интеллектуальной части, инвестиционная часть исключается.
 * 
 * ## Диаграмма процесса
 * 
 * @note Чистые инвесторы НЕ участвуют в этом процессе и пропускают его полностью.
 * 
 * \htmlonly
 * <div class="mermaid">
 * sequenceDiagram
 *     participant P as Участник с интеллектуальными ролями
 *     participant C as Capital Contract
 *     participant S as Soviet Contract
 *     participant L as Loan Contract
 *
 *     Note over P: ТОЛЬКО для участников с ролями<br/>автор/создатель/координатор/пропертор<br/>Чистые инвесторы не участвуют!
 *     P->>C: 1. pushrslt(заявление на взнос результатом)
 *     Note over C: Блокировка чистых инвесторов
 *     Note over C: Проверка наличия интеллектуальных ролей
 *     Note over C: Исключение investor_base из contribution_amount
 *     Note over C: Расчёт итоговых сумм
 *     Note over C: Статус сегмента = STATEMENT
 *     C->>L: 2. Погашение долгов (если есть)
 *
 *     C->>S: 3. soviet::create_approval
 *
 *     S->>C: 4. approverslt(одобрение председателем)
 *     Note over C: Статус сегмента = APPROVED
 *     C->>S: 5. soviet::create_agenda
 *
 *     alt Авторизация советом
 *         S->>C: 6. authrslt(решение совета)
 *         Note over C: Статус сегмента = AUTHORIZED
 *
 *         P->>C: 7. signact1(акт №1 от участника)
 *         Note over C: Статус сегмента = ACT1
 *         Note over C: Подпись участника на акте
 *
 *         alt Принятие председателем
 *             S->>C: 8. signact2(акт №2 от председателя)
 *             Note over C: Статус сегмента = CONTRIBUTED, результат = ACT2
 *             Note over C: ACCEPT_RID (Dr 04 / Cr 08)
 *             Note over C: Готовность к конвертации
 *
 *             P->>C: 9. convertsegm(распределение между ЦК и Благорост)
 *             Note over C: TRANSFER GENERATOR_FUND → SHARE_FUND_PAY / BLAGOROST_FUND
 *             Note over C: Удаление сегмента и объекта результата
 *         else Отклонение до совета
 *             S->>C: 8. declineapprv(отклонение)
 *             Note over C: Возврат к статусу READY
 *         end
 *
 *     else Отклонение советом
 *         S->>C: 6. declrslt(отклонение советом)
 *         Note over C: Возврат к статусу READY
 *     end
 * </div>
 * \endhtmlonly
 * 
 * ## Пошаговое описание
 * 
 * ### Шаг 1: Подача заявления на взнос результатом
 * Подача заявления на паевой взнос результатом
 * 
 * Участник подаёт итоговое заявление на взнос результатом интеллектуальной деятельности:
 * 
 * <b>Входящий документ:</b> Заявление на паевой взнос результатом (подписано участником)
 * 
 * <b>Предварительные условия:</b>
 * - Проект в статусе `completed` (голосование завершено)
 * - Сегмент участника в статусе `READY`
 * - Сегмент обновлён (выполнен rfrshsegment)
 * - Участник имеет интеллектуальные роли (is_author, is_creator, is_coordinator, is_propertor)
 * - Участник НЕ является чистым инвестором (is_pure_investor == false)
 *
 * <b>Входящие суммы должны соответствовать расчётам:</b>
 * - contribution_amount == total_segment_cost - investor_base (если участник также инвестор)
 * - contribution_amount == total_segment_cost (если участник не инвестор)
 * - debt_amount == segment.debt_amount (сумма к погашению)
 * 
 * @note Инвестиционная часть (investor_base) НЕ включается в contribution_amount, 
 * так как она уже была внесена при инвестировании через approveinvst.
 *
 * <b>Расчёты и обновления:</b>
 *
 * @post Погашение ссуд через внешний контракт loan (если debt_amount > 0)
 *
 * <b>Результат:</b>
 * - Создается временный объект `results`
 * - Статус сегмента → `STATEMENT`
 * - Заявка отправляется на рассмотрение председателем
 * 
 * ### Шаг 2: Одобрение заявления председателем
 * Одобрение заявления председателем
 *
 * Председатель рассматривает заявление и принимает решение:
 * - Проверяет корректность расчётов
 * - Оценивает соответствие результата проекту
 * - Подтверждает готовность к рассмотрению советом
 *
 * <b>Входящий документ:</b> Принятое председателем заявление на взнос результатом
 *
 * <b>Результат:</b>
 * - Статус сегмента → `APPROVED`
 * - Заявка передается в совет для финального решения
 *
 * ### Шаг 3: Авторизация советом
 * Авторизация взноса результатом советом
 *
 * Совет принимает решение о принятии результата интеллектуальной деятельности:
 * - Оценивает ценность результата для кооператива
 * - Подтверждает справедливость распределения долей
 * - Даёт согласие на приём паевого взноса
 *
 * <b>Входящий документ:</b> Решение совета о принятии взноса результатом
 *
 * <b>Результат:</b>
 * - Статус сегмента → `AUTHORIZED`
 * - Становится возможным подписание актов приёма-передачи
 *
 * ### Шаг 4: Подписание акта №1 участником
 * Подписание акта №1 участником
 *
 * Участник подписывает акт приёма-передачи доли в результате:
 * - Подтверждает передачу своей доли кооперативу
 * - Соглашается с расчётом вознаграждения
 * - Фиксирует своё согласие на условия приёма
 *
 * <b>Входящий документ:</b> Акт приёма-передачи (подпись участника)
 *
 * <b>Результат:</b>
 * - Статус сегмента → `ACT1`
 * - Акт готов к подписанию председателем
 *
 * ### Шаг 5: Подписание акта №2 председателем
 * Подписание акта №2 председателем
 *
 * Председатель подписывает акт от имени кооператива:
 * - Подтверждает приём доли в результате
 * - Фиксирует обязательства кооператива по выплатам
 * - Завершает процедуру приёма паевого взноса
 *
 * <b>Входящий документ:</b> Акт приёма-передачи (подписи участника и председателя)
 *
 * <b>Финальные изменения:</b>
 * - Статус сегмента → `CONTRIBUTED`
 * - Статус результата → `ACT2` (анкер процесса до convertsegm)
 * - ACCEPT_RID: Dr 04 / Cr 08 на полный `available_for_program` сегмента
 * - REPAY (если был долг): Dr 80 / Cr 58
 * - Готовность сегмента к финальной конвертации
 *
 * ### Шаг 6: Конвертация сегмента (финал процесса)
 * Конвертация сегмента — финальная фаза процесса `p.cap.rid`.
 *
 * Пайщик распределяет накопленный `available_for_program` между двумя направлениями:
 * - <b>В ЦК (SHARE_FUND_PAY):</b> только себестоимость создателей, авторов и
 *   координаторов минус погашенный долг, не больше обеспеченной суммы.
 * - <b>В ЦПП «Благорост» (BLAGOROST_FUND):</b> остаток
 *   (`available_for_program - wallet_amount`).
 *
 * Кошельковое движение TRANSFER GENERATOR_FUND → цель **без бухпроводок**:
 * Dr 04 / Cr 08 уже сделана в signact2 (ACCEPT_RID, WalletOp::NONE) на полный
 * `available_for_program`.
 *
 * <b>Входящий документ:</b> Заявление на конвертацию (подпись участника).
 *
 * <b>Финальные изменения:</b>
 * - Сегмент удаляется (`Capital::Segments::remove_segment`)
 * - Объект результата удаляется (`Capital::Results::delete_result`)
 * - Счётчик сконвертированных сегментов проекта инкрементируется
 * - Кошельки `w.cap.gen` пайщика закрываются в ноль по этому сегменту
 *
 * @note `convert_hash` в API больше не используется — анкер процесса единый
 * для всех фаз: `result_hash`.
 *
 * ### Альтернативные пути: Отклонение заявления
 *
 * #### Отклонение председателем
 * - Заявление отклоняется до передачи в совет
 * - Временный объект `results` удаляется
 * - Статус сегмента возвращается к `READY`
 * - Участник может подать исправленное заявление
 *
 * #### Отклонение советом
 * - Совет не принимает результат на любом этапе (до авторизации или после)
 * - Временный объект `results` удаляется
 * - Статус сегмента возвращается к `READY`
 * - Требуется доработка результата или условий
 * 
 * ## Правовые аспекты взноса результатом
 * 
 * ### Природа паевого взноса
 * - Результат интеллектуальной деятельности передается как имущественный вклад
 * - Участник получает паевые права в кооперативе
 * - Кооператив становится обладателем исключительных прав на результат
 * 
 * ### Документооборот
 * - <b>Заявление</b> - волеизъявление участника о намерении совершить паевой взнос
 * - <b>Решение совета</b> - протокол собрания совета с решением и приёме взноса
 * - <b>Акты приёма-передачи</b> - фиксация перехода прав
 * 
 * ## Структура итогового вознаграждения
 * 
 * После завершения процесса участник получает:
 * 
 * ### Базовая часть (себестоимость)
 * - <b>Исполнитель:</b> creator_base (стоимость коммитов)
 * - <b>Автор:</b> author_base (61.8% от создателей)
 * - <b>Координатор:</b> coordinator_base (% от привлечённых инвестиций)
 * - <b>Инвестор:</b> investor_base (использованная часть инвестиций) - УЖЕ ВНЕСЕНА при инвестировании
 * - <b>Пропертор:</b> property_base (стоимость имущественного взноса)
 * 
 * @note investor_base НЕ включается в contribution_amount при pushrslt для участников 
 * со смешанными ролями, так как эта сумма уже внесена при approveinvst.
 * 
 * ### Премиальная часть (бонусы)
 * - <b>Создатели:</b> creator_bonus (100% от базы)
 * - <b>Авторы:</b> author_bonus (равная часть + голосование)
 * - <b>Участники:</b> contributor_bonus (161.8% от генерации)
 * - <b>Голосование:</b> voting_bonus (по методу Водянова)
 * 
 * ## Результат процесса
 * 
 * @post:
 * 1. Результат интеллектуальной деятельности принят кооперативом как паевой взнос
 * 2. Погашена ссуда участника (если была)
 * 3. Сегмент в статусе CONTRIBUTED и готов к конвертации в различные кошельки кооператива
 * 4. Статусы сегмента и результата синхронизированы на каждом этапе процесса
 * 

 ## Эффекты процесса
 @include{doc} signact2-effect.dox
 @include{doc} convertsegm-effect.dox

 ## Документы процесса
  @include{doc} result-submission-docs.dox
  @include{doc} conversion-process-docs.dox

 */
