返回 Bug 清单
BUG-0525project-52高已修复backend-logic
syncCrossPlatform 用 slug 分组导致跨平台 compareMultiplePlatforms 被跳过
发现:2026-10-07验证:2026-10-27置信度:70%
症状
跨平台同步时 compareMultiplePlatforms 返回空数组,日志显示 skipped: no matching repos found 但两个平台都有同名仓库。
根因
GitHub slug=owner/repo,Gitea slug=不同 owner/repo(因为 project-52 在不同平台注册的 owner 不一样)。syncCrossPlatform 原来用 slug 做 Map key → GitHub 的 omnispark/project-52 和 Gitea 的 omnispark/project-52 因为 owner 不同被当成两个不同仓库,compareMultiplePlatforms 找不到"对应"的仓库直接跳过。
修复方案
分组 key 从 slug 改为 repo name(纯仓库名,不带 owner)。同时加 sourceSlug 和 targetSlug 参数让 MCP 工具层显式指定跨平台映射。GitHub omnispark/project-52 和 Gitea someone-else/project-52 按 name=project-52 归为一组。
错误签名
syncCrossPlatform compareMultiplePlatforms returns [] when both platforms have the same repo技术信息
来源项目
project-52
涉及文件
packages/core/src/sync/SyncRunner.ts
标签
project-52, mcp-reported, source-agent