tools-sync: 合并 gitea 自愈与 junction/ingest 两条演进线

rebase 到 origin/main 时 tools-sync 三个文件都冲突——上游(SHANGHAI-U9)加了
gitea 传输自愈与 ls-remote 同步闸门,本机加了 registry 双向 ingest/修复模型。
两者互不相干,按并集合并:

- sync_repos.ps1: 保留 -NoDoctor/-AllowDestructive 与 Test-TransportFault /
  Invoke-Doctor / ls-remote 闸门,叠加 -Registry/-MirrorRegistry/-NoIngest 与
  registry 对账。上游末尾那段 stale-junction 清理引用了已删除的 $CodexSkills,
  且已被新 registry 循环覆盖,故弃用。
- SKILL.md: 保留阶段 1.5(gitea 医生)整节,阶段 2 换成 registry 对账;
  description 与阶段 6 报告模板取两侧并集。
- test_sync_repos_registries.ps1: 阶段 1 的成功串改成上游 ls-remote 闸门的
  "verified: origin/main ="。两个测试套件均通过。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01438Zbcx49e4o46uSA71mFF
This commit is contained in:
Myfro9
2026-09-07 16:23:13 +08:00
co-authored by Claude Opus 5
parent f665448376
commit 58b90f16a6
@@ -61,7 +61,8 @@ try {
foreach ($name in @("shared", "forked", "codexborn")) {
if (-not (Test-Path (Join-Path $codex "$name\SKILL.md"))) { throw "mirror missing $name`n$output" }
}
if ($output -notmatch 'primary in sync with origin') { throw "Phase 1 did not complete`n$output" }
# Phase 1's success line is the ls-remote gate's verdict (upstream wording).
if ($output -notmatch 'verified: origin/main =') { throw "Phase 1 did not complete`n$output" }
Write-Host "PASS: registry ingest / repair / conflict fixtures"
} finally {