fix: восстановить потерянные guard-вызовы issue-роутов и обновить ownership-тесты [CL-SYNC-DRIFT] #175
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-ownership-layer"
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?
Что сделано
Слой 8 партии PIX-13034 (см. #170):
issue-agent-mutation-ownership-routes11/62 красных. Разделено методом «git show двух ревизий»:Код — три потерянных при merge v2026.626.0 upstream-вызова (helper-функции оставались определёнными, но мёртвыми):
actorCanReadCompanyScope/filterIssuesForActor— без него любой участник компании видел полный список issue (security).resolveWorkProductCreatedByRunId+sourceTrust— forged/foreign run id не отклонялись, подлинный run id не записывался (security).idу children — watchdog-сериализация лесенкой blockedByIssueIds молча не срабатывала.Тесты — отстали от наших живых форк-фич: мок issueService без
count(PIX-12722) и без exportsblockedByMapForIssues(PIX-12684); ассерты на старый не-пагинированный ответ; фикстуры без обязательногоprojectId(bb9906e2); watchdog blocked-переход без blockedByIssueIds (PIX-12986); db-мок безtx.select/.limit.Зачем
Suite после порт-фикса CI (PR #169) слой за слоем вскрывает partition PIX-13034; два security-пропуска здесь — реальные дыры прод-поведения.
План тестирования
Где могу ошибаться
canonicalizePaperclipArtifactMetadata(у нас отсутствует вся её цепочка) — если suite дойдёт до атачмент-тестов, доведу отдельным слоем.totalв списке остаётся нефильтрованным для low-trust актёров — верхняя оценка, upstream счётчика не имеет вовсе; отмечено комментарием в коде.Код (все три — upstream-вызовы, потерянные при merge v2026.626.0 при живых определениях helper'ов): - issue list: возвращён visibility-фильтр (actorCanReadCompanyScope fast path / filterIssuesForActor) — без него любой участник компании видел полный список issue в пагинированном ответе PIX-12722. Security. - work products create/update: возвращены resolveWorkProductCreatedByRunId (отказ forged/foreign run id, запись подлинного) и sourceTrust. Security. - accepted-plan decompositions: children снова получают pre-generated id — без него watchdog-сериализация (blocked за предыдущим ребёнком) молча не срабатывала. Тесты (отстали от наших живых форк-фич): - мок issueService: + count (PIX-12722) и exports blockedByMapForIssues/ readAcceptedPlanConfirmationTarget (PIX-12684); - list-ассерты на пагинированный конверт {data,total}; - create/decompose фикстуры с обязательным projectId (bb9906e2); - watchdog blocked-переход с blockedByIssueIds (PIX-12986 disposition); - db-мок: tx с select и .limit у where-результата. Красное: run 35650 и локально на чистом master (11/62). После: 62/62, regression по 5 затронутым файлам 103/103, typecheck exit 0.