[598][@ant] feat(marketplace): documentation pass + grants canon + onboarding via council + payout/IDOR/own-KU fixes #46
Reference in New Issue
Block a user
Delete Branch "feat/marketplace-docs"
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?
Что вливаем
40 коммитов работы, накопленных в
feat/marketplace-docs— изначально документационная ветка, фактически выросла в полноценный набор фиксов и фич Эпиков 1–11 Стола заказов.Ключевые блоки
Документация и harness
Backend / контроллер
Канон расширений и онбординг ЦПП
grants— устранён дубль meta.roles ↔ access-matrix.grants=nullкак core-стол (legacy meta.roles).Desktop
Конфиг и инфра
Совместимость с marketplace2
Текущий merge
origin/marketplace2 → feat/marketplace-docsуже завершён (коммит2734d9dc633) — подтянут PR #16 trustees-ownership :own-KU (MarketplaceBranchOwnershipService применён в return-claim resolver). После него regen schema.gql и Zeus-клиента (коммитd2c0f605d02).Поэтому merge в marketplace2 = fast-forward без конфликтов.
Проверки
pnpm typecheckв controller — green.pnpm eslintпо 4 затронутым merge-файлам — clean.pnpm generate-schema+pnpm generate-client+pnpm buildв SDK — без ошибок.Следующий шаг
После merge — заводим
origin/dev → marketplace2(марш в magistral III).Расширение market давало один смешанный стол из 21 страницы (заказчик + поставщик + админ вперемешку) и отдельный Стол ПВЗ, причём market-pvz вообще не объявлялся в backend AppRegistry → его маршруты молча терялись. - backend extensions.registry.ts: AppRegistry['market'].desktops теперь объявляет 4 стола (market/market-supplier/market-pvz/market-admin) — фронт прикрепляет маршруты только к объявленным backend столам. - desktop install.ts: возвращает 4 workspace, 29 страниц разнесены по ролям; Стол администратора виден только chairman+member (meta.roles), остальные — всем; имена маршрутов сохранены (навигация по имени). - init-installed-extensions: убран немой catch{} (теперь console.error) + warn, когда install вернул workspace, отсутствующий на backend, — раньше сломанный/несинхронный стол выглядел как «пустой» без диагностики. Проверено на стенде: getDesktop = 4 стола, Pinia-стор = children 6/6/8/9, скриншот навигатора подтверждает рендер страниц по столам. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>