Files
eng-standards-main/scripts/__pycache__/adopt-existing.cpython-314.pyc
T
姚章浩 85f2471626 feat(adopt): 既有工程接入器 + 接入文档(含 PR 锁死陷阱的判定)
问题:只有"新工程生成器",没有"既有工程怎么接进来"的可复用路径;
而手工接入时最容易踩的坑是——盲目开"必须状态检查通过",会让 PR
永远等一个不会出现的检查,永远合不了。

新增:
- scripts/adopt-existing.py:体检 → 加指针(分支+PR)→ 开保护 → 打印自检命令。
  默认 DRY-RUN 不动任何东西;幂等(重复跑不改 main)。
  关键设计:状态检查是否开启由体检判定——只有"推任意分支都会跑"的工作流,
  PR 头提交才带着 (push) 状态;判定不通过就只开"禁直推+必须 PR"。
- 06-接入既有工程.md:判定表(带 7 个仓的实测结论)、一条命令、试点记录、
  手工四步、验收判据、会遇到的拒绝与处理、扩到其余仓的顺序。

试点实测(Weknora/knowledge-governance):PR #1 → CI context
build / build (push) success → mergeable=True(证明状态检查认 PR)→
合并 32b0ec58a612 → AGENTS.md 进 main;直推被 pre-receive 拒绝;
再跑 --apply 幂等,main 不变。

顺带修两个自查出来的毛病:
- ~/.git-credentials 里 LAN 主机是 URL 编码的(192.168.50.223%3a3000),
  按字面匹配会报"没有凭据"——改成解码后比对。
- runner 只在仓库级查,aiball 的 runner 挂在组织上,会误报"无 runner"。
2026-10-10 16:26:02 +08:00

29 KiB