Контроль кооперативных стандартов (workflow): capital #79
Reference in New Issue
Block a user
Delete Branch "feat/coop-standards-audit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контроль кооперативных стандартов (workflow
coop-standards-check, агенты на Opus)Сквозной аудит всех 15
.standard.yaml: сверка с кодом + человеческий бизнес-язык прозы. Правки консервативные — техно-хвосты убраны из прозы (идентификаторы кошельков/операций, Gateway, ledger2, enum-имена счетов/кошельков), путаница счёт ≠ кошелёк устранена; structured-поля (Дт/Кт, кошельки, ledger_code, имена экшнов) не тронуты. Спорный дрейф с кодом (возможные баги, семантика статусов) НЕ правил — вынесено в блоки «⚠️ На ревью».Контрактов: 6, стандартов: 15.
Контракт capital — стандартов 4
p.cap.debt.standard.yaml— Выдача займа пайщикуВыдача займа пайщику
Кооператив выдаёт пайщику беспроцентный целевой заём из паевого фонда на срок проекта. Возврат — автоматически при сдаче акта приёма-передачи проекта (отдельная заявка на возврат не нужна).
1. Последовательность действий
Отказ: председатель/совет отклоняет на шагах 2–3 (лимит возвращается, движений денег нет); платёжная система не провела выплату на шаге 4 (заявка аннулируется).
2. Проводки
* Возврат (o.cap.repay) фактически относится к процессу РИД (акт-2), а не к процессу долга — см. unresolved.
3. Документы
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.cap.invest.standard.yaml— Приём инвестиции в программуПриём инвестиции в программу («Благорост»)
Пайщик переводит часть своих свободных паевых средств в инвестицию в программу «Благорост». Деньги физически остаются на расчётном счёте кооператива — меняется только то, как они учитываются у пайщика. Процесс одношаговый.
1. Последовательность действий
capital::createpinv).Итоговое состояние: Инвестировано (финальное).
2. Проводки
Бухгалтерских проводок нет. Дебет/кредит не задаются (оба пустые). Средства не покидают паевой фонд и не меняют бухгалтерский счёт — это перенос внутри фонда. Для бухгалтера: счёт 80 (паевой фонд) не затрагивается, деньги остаются на расчётном счёте кооператива.
3. Документы
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.cap.prop.standard.yaml— Приём имущественного паевого взносаПриём имущественного паевого взноса
Пайщик передаёт кооперативу имущество (не деньги, не РИД) как паевой взнос в программу «Благорост».
1. Последовательность действий
Ветка отказа: председатель или совет отклоняет предложение (шаги 1–3) — запись удаляется, имущество как паевой взнос не зачисляется.
2. Проводки
Единственная проводка во всём процессе — на завершающей подписи. До неё движений по учёту нет.
3. Документы
На ревью: привязка документов к конкретным реестровым папкам в коде не проверяется; акт «первая/вторая подпись» в коде хранится в одном поле, а не в двух.
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.cap.rid.standard.yaml— Приём результата интеллектуальной деятельностиПриём результата интеллектуальной деятельности (p.cap.rid)
Участник программы «Благорост» оформляет результат своей работы (РИД) как имущественный паевой взнос, а в конце распределяет полученный взнос между своим Цифровым Кошельком и программой.
1. Последовательность действий
2. Проводки
3. Документы
4. Движение средств участника
⚠️ На ревью (НЕ правил):
Контракт marketplace — стандартов 3
p.mkt.return.standard.yaml— Гарантийный возврат имуществаГарантийный возврат имущества
Заказчик в пределах гарантийного срока возвращает имущество на склад участка и получает обратно сумму заказа.
1. Последовательность действий
2. Проводки (только при принятии возврата)
3. Документы
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.mkt.supply.standard.yaml— Прямая поставка-приобретение имуществаПрямая поставка-приобретение имущества (Стол заказов)
1. Последовательность действий
2. Проводки (Дт/Кт)
3. Документы
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.mkt.wroff.standard.yaml— Утилизация скоропортаУтилизация скоропорта
Периодическое списание со склада участка имущества, которое физически пропало или стало непригодным к выдаче заказчику (просрочка, повреждения, малоценка).
1. Последовательность действий
2. Проводки
3. Документы
4. Движение по кошелькам
Нет. Это чисто бухгалтерское событие: имущество выбывает со склада и относится на расход целевых средств программы. Кошельки заказчиков и кооператива не двигаются, ничего не блокируется. Имущество учитывается отдельно по каждому участку.
⚠️ На ревью (НЕ правил):
Контракт soviet — стандартов 3
sov.authpkg.standard.yaml— Автоматизированное принятие решений советомАвтоматизированное принятие решений советом
Общий механизм: любой процесс (приём пайщика, заём, расход, инвестиция, общее собрание, маркетплейс), которому нужно согласие совета, передаёт совету пакет документов; совет голосует; согласие (или отказ) автоматически возвращается в исходный процесс.
1. Последовательность действий
Ветки: большинство «против» — исходный процесс получает отказ; не уложились в срок — решение отменяется как просроченное, согласия нет.
2. Проводки
Нет. Сам процесс голосования не двигает средства по кошелькам и не создаёт бухгалтерских проводок (Дт/Кт). Все движения средств возникают уже внутри исходных процессов после получения согласия совета — и описаны в их собственных стандартах.
3. Документы
4. Движение по кошелькам
Нет. На этом процессе средства по кошелькам не двигаются и ничего не блокируется — он только фиксирует согласие/отказ совета. Любые движения средств происходят в исходных процессах после получения согласия.
⚠️ На ревью (НЕ правил):
sov.decision.standard.yaml— Принятие свободного решения советомПринятие свободного решения советом
Путь, по которому совет голосует по произвольному вопросу повестки: инициатор сам формирует и подаёт повестку, совет голосует, председатель подписывает протокол. Для решений, не привязанных к стандартизованному процессу.
1. Последовательность действий
Примечание для ревью: в коде отзыв голоса сейчас фактически заблокирован — см. unresolved (дрейф cancelvote).
Ветки: при большинстве «против» — решение отклонено, протокол не оформляется. При просрочке — любой член совета может отменить решение как просроченное (закрывается без исполнения).
2. Проводки
Нет. Свободное решение само по себе не двигает средства и не делает бухгалтерских проводок — это путь принятия решения. Конкретные финансовые последствия (если совет так решил) оформляются отдельным процессом вне рамок этого стандарта.
3. Документы
Второй документ (протокол) подписывается председателем на шаге утверждения и прикладывается к решению.
4. Движение по кошелькам
Нет. Процесс не блокирует и не перемещает средства ни по каким кошелькам. Внешний эффект свободного решения — фиксация самого факта решения; любое конкретное действие выполняется вне этого процесса (свободная воля совета).
⚠️ На ревью (НЕ правил):
sov.selectbranch.standard.yaml— Прикрепление пайщика к кооперативному участкуПрикрепление пайщика к кооперативному участку
Простой одношаговый процесс. Пайщик выбирает кооперативный участок (территориальную единицу кооператива), к которому будет относиться. Заявление принимается сразу, без отдельного решения совета.
1. Последовательность действий
Итог: пайщик прикреплён к участку (конечное состояние).
2. Проводки
Нет. Процесс нефинансовый — движения средств и бухгалтерских проводок не порождает.
3. Документы
4. Движение по кошелькам
Нет. Кошельки не затрагиваются, ничего не блокируется и не переводится.
⚠️ На ревью (НЕ правил):
Контракт registrator — стандартов 2
p.reg.accept.standard.yaml— Приём пайщикаПриём пайщика
Корневой процесс вступления человека или организации в кооператив.
1. Последовательность действий
Ветки отказа: кассир может отклонить оплату (если деньги не пришли/отозваны), совет может отказать в приёме — в обоих случаях заявка закрывается, взносы на учёт не ставятся, возврат уже уплаченных денег оформляется отдельной процедурой.
2. Проводки (на шаге 3, при одобрении совета)
Обе проводки делаются одновременно в момент решения совета о приёме, не раньше.
3. Документы и подписи
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
reg.coop.standard.yaml— Присоединение к платформе кооперативной экономикиПрисоединение к платформе кооперативной экономики
Кооператив подключается к цифровой платформе «Кооперативная Экономика»: председатель подписывает соглашение о присоединении, после чего часть паевого взноса конвертируется в членский взнос платформы (AXON) — оплату её ресурсов (документооборот, операции, хранение).
1. Последовательность действий
2. Проводки
3. Документы
Оба документа сохраняются в реестре документов платформы.
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
pending» — сырой статус; можно заменить на человеческое «Соглашение подписано». Оставлено.Контракт wallet — стандартов 2
p.wal.depo.standard.yaml— Внесение паевого взносаВнесение паевого взноса
Пайщик пополняет свой паевой кошелёк деньгами. Документ не оформляется — взнос подтверждается самим фактом платежа через кассира.
1. Последовательность действий
2. Проводки
3. Документы
Не подписываются. Взнос не требует договора — основание — сам факт платежа.
4. Движение по кошелькам
⚠️ На ревью (НЕ правил):
p.wal.wthdrw.standard.yaml— Возврат паевого взносаВозврат паевого взноса
Пайщик получает обратно ранее внесённый паевой взнос деньгами. Обратный процесс к внесению взноса.
1. Последовательность действий
2. Проводки
3. Документы
4. Движение по кошелькам
(Кошелёк ≠ бухгалтерский счёт: счета 80/51 — только в проводке шага 3; движение между кошельками проводок не создаёт.)
⚠️ На ревью (НЕ правил):
Контракт meet — стандартов 1
meet.hold.standard.yaml— Проведение общего собрания пайщиковПроведение общего собрания пайщиков
Высший орган управления кооперативом в действии: от подачи повестки и авторизации советом до сбора бюллетеней и подписи протокола. При недостижении кворума собрание перезапускается с понижением требования к кворуму.
1. Последовательность действий
2. Проводки
Нет. Общее собрание не двигает кошельки и не делает бухгалтерских проводок — принятые решения исполняются вне этого процесса.
3. Документы
Протокол секретарь подписывает первым, председатель накладывает свою подпись на тот же протокол вторым — собрание становится состоявшимся только после обеих подписей.
4. Движение по кошелькам
Нет. Средства по кошелькам в рамках этого процесса не движутся и ничего не блокируется.
⚠️ На ревью (НЕ правил):
created/onrestart/authorized/preclosed/closedв прозе actions[0..6].purpose, states[0].description, transitions[1].guards, scenario step1.post[0]/step1.pre/alternatives — предложены человеческие названия, но soft.[open_at..close_at]предложено заменить на «окно голосования».initiator/presider/secretary + coopnameтехнические идентификаторы участников; аудит их не флагнул как hard, но это технический хвост — на усмотрение ревью.