SuperAPI AI 工具集

ecosystem-autopsy

部署与运维

查看项目

更新于 10-15 09:41

技能介绍

用途

Ecosystem Autopsy 用于对一个 ORGANVM 工作区执行完整的目录图谱“尸检”:打开整个生态,绘制每个目录,分类每个仓库,并发出信号,把正在漂移的工作重新带回规范治理之下。它适合在以下情况使用:

  • 需要“对工作区运行一次自动尸检”
  • 需要“映射 ~/Code 和 ~/Workspace 下的所有目录”
  • 需要“找出仍处于 LOCAL-only 的仓库”
  • 需要“发出信号,把这些仓库统一到新治理之下”
  • 需要在整合前对漂移项进行分诊
  • 经历约 30 天以上未做生态级审查之后
  • 在多仓整合、重命名或组织迁移之前

权威边界

该技能编排的是 ORGANVM 底层已经提供的规范接口,不重新实现它们:

  • 治理状态机由 promotion-readiness-checklist 定义,本技能不得重述,只做调用。
  • IRF 查询通过 organvm irf {list,status,stats} 暴露,不得另建并行注册表。
  • 生态库存与生命周期评分通过 organvm ecosystem {audit,list,actions,lifecycle,staleness,coverage} 暴露,不得重复实现。
  • 迁移后验证交由 qa-audit,本技能不执行修复,到达信号即停止。

如果某个尸检步骤看起来需要新的状态机定义、IRF schema 或库存逻辑,说明这些已经存在于底层,应先搜索再编写。surface-by-surface 的映射见 references/integration-map.md。

主要能力与工作流

阶段 1 — 发现(已注册与未注册)

运行规范库存:

organvm ecosystem --workspace ~/Workspace --workspace ~/Code audit
organvm ecosystem --workspace ~/Workspace --workspace ~/Code list

这些覆盖八器官注册表已知的仓库。

对于注册表之外的路径(临时技能缓存、~/Documents、草稿目录、临时克隆等),补充使用:

bash scripts/discover_unregistered.sh ~/Workspace ~/Code ~/Documents

该辅助脚本列出磁盘上存在、但未出现在 organvm ecosystem list 输出中的 git 仓库。这些是尸检的主要发现——规范库存尚不知道的目录。

阶段 2 — 分诊(优先级 + IRF 交叉引用)

获取规范的按优先级排序的下一步行动列表:

organvm ecosystem --workspace ~/Workspace --workspace ~/Code actions --json

对于每个高优先级仓库,按所有者/域交叉引用未关闭的 IRF 条目:

organvm irf list --status open --owner <organ-or-substring> --json
organvm irf list --domain <domain-code> --status open --json

当一个仓库同时出现在 ecosystem actions 中,且没有未关闭的 IRF 行跟踪该漂移时,它才真正处于漂移状态。这个缺口就是值得发出的信号。

阶段 3 — 状态评估(交由规范权威)

对阶段 2 标记的每个仓库,调用 promotion-readiness-checklist 评估当前治理状态及推进所需的证据。不要从本技能对状态进行分类。状态机(LOCAL → CANDIDATE → PUBLIC_PROCESS → GRADUATED)及其证据要求(seed.yaml schema 字段、LICENSE、README、CI、分支保护等)都在那里定义。

organvm ecosystem --workspace ~/Workspace --workspace ~/Code lifecycle <repo>

organvm ecosystem lifecycle 报告生态模块所见的当前生命周期阶段。在调用清单技能之前用它来确认。

阶段 4 — 迁移信号(发出,不执行)

对每个已确认状态且目标状态清晰的仓库,发出信号记录(JSON,写入用户选择的工作目录中的 autopsy/signals/<timestamp>.json):

{
  "signal_type": "migration",
  "repo": "<repo-name>",
  "current_state": "LOCAL",
  "target_state": "CANDIDATE",
  "evidence_gaps": ["seed.yaml missing", "no LICENSE", "no remote"],
  "invoke": "repo-onboarding-flow",
  "irf_gap": true,
  "emitted_at": "<ISO-8601>"
}

信号路由到正确的下游技能:

  • LOCAL → CANDIDATE:调用 repo-onboarding-flow
  • CANDIDATE → PUBLIC_PROCESS 或 PUBLIC_PROCESS → GRADUATED:调用 promotion-readiness-checklist
  • IRF 缺口:发出 IRF 行提案(不自动写入——根据 ORGANVM 宪法规则,IRF 变更需要用户授权)

本技能止步于信号发射。执行属于信号所指向的下游技能。

阶段 5 — 验证(交由 qa-audit)

在下游技能执行后(在另一会话中或经用户明确同意),调用 qa-audit 验证所声称的转换是否与磁盘实际情况一致。尸检的信号文件是验证目标。

使用方式

通过调用上述 organvm CLI 命令以及脚本 scripts/discover_unregistered.sh 来执行各阶段操作。信号以 JSON 文件形式输出,不自动执行迁移。

适用场景

  • 长期未做生态级审查之后
  • 多仓整合、重命名或组织迁移之前
  • 需要发现注册表之外、磁盘上存在的未注册 git 仓库
  • 需要在整合前对漂移仓库进行分诊

限制

本技能明确不做以下事项:

  • 重述或重新定义治理状态
  • 用定制的 Python 遍历目录树(应使用 organvm ecosystem + discover_unregistered.sh)
  • 变更 IRF、seed.yaml 或任何治理文件(只发信号)
  • 执行 git 操作(push、branch、remote add)——这些属于 repo-onboarding-flow
  • 验证自己的声明——那是 qa-audit 的职责

反模式

  • 在本技能中编写 governance-states.md 参考文档(唯一事实来源是 promotion-readiness-checklist)
  • 编写遍历目录做库存的 Python(规范 CLI 已经做了)
  • 自动写入 IRF 行(变更需要明确的用户授权)
  • 把信号当作承诺(信号是提案;执行是单独的授权)

脚本与参考

  • scripts/discover_unregistered.sh — 列出磁盘上未出现在 organvm ecosystem list 中的 git 仓库
  • references/integration-map.md — 逐阶段映射到规范接口