STDD V2.9.2 项目安装修复报告 — 2026-06-16

审计结果

项目 /opt/data/.stdd/ 版本 v2.9.2,核心流程(6 阶段 Skills + 3 道 Gate + AGENTS.md enforce)正常,但 stdd initFILES_TO_COPY 列表遗漏了 V2.9 新增的配套文件,导致 guard/hook/YAML-First 等能力所需文件在项目中不存在。

已补充文件

缺失项数量文件作用
_shared/3confirm-gate.md · long-range-auth.md · mode-selection.mdDRY 共享片段,guard/hook 流程依赖
canonical/5proposal.yaml · spec.yaml · agent_spec.yaml · design-adjustments.yaml · pending-adjustments.yamlV2.9 YAML-First 双轨制模板
rules/5common/3 + python/1 + go/1编码规则,Phase 4 BUILD 加载
experiences/6EXP-0001~0006 + .experience-index.yaml经验库种子数据
lite.yaml1config.d/lite.yaml复杂度评分阈值 + 三档模式缩放
phase-context.md1templates/phase-context.md阶段摘要模板

修复方式

stdd upgrade 只做版本号比较(源和项目均为 2.9.2,认为已最新),直接手动从源目录 ~/.stdd/ 复制缺失文件到项目 .stdd/

根因

~/.stdd/stdd/cli/commands/init.pyFILES_TO_COPY 列表未包含以上文件。需更新上游列表,使后续 stdd upgrade 可自动补齐。

修复后验证

  • 项目 .stdd/ 文件数: 45(修复前 37)
  • python3 ~/.stdd/bin/stdd CLI 正常: 27 指令可用,含 hooks/guard/upgrade/batch/fix 等 V2.9 新命令
  • 6 阶段技能文件与源内容一致

仍存在的不足(本次修复未覆盖)

1. FILES_TO_COPY 疏漏是系统性设计缺陷

  • FILES_TO_COPY 缺失文件不是版本升级导致的,而是 init 脚本从设计上就未包含它们
  • 这意味任意新项目 stdd init 都产出残缺结构。对比源目录 ~/.stdd/.stdd/,完整文件集应在 80+,而 init 只装了 30+
  • 已安装的文件(6 技能 + 8 模板 + 5 配置)内容完全正确,但「覆盖集」不对
  • 如果用户按 AGENTS.md 写法以为 init 产出就是完整版,会一直缺失核心能力而不知

2. stdd upgrade 版本号门控不可靠

  • 当源版本 == 项目版本时直接跳过——但版本相同不意味文件一致
  • 缺少内容级完整性校验(manifest 或 checksum 对比)
  • 本次修复无法通过 stdd upgrade 自动完成,必须手动复制——这是工具本身的盲区

3. enforce_stdd 依赖 AI 自觉性,非程序性强制

  • AGENTS.md 声明 enforce_stdd: true + 大段约束规则,但全是自然语言指令
  • 当前 Hermes Agent 无程序级 guard:没有 pre-commit hook、没有 git hook、没有文件系统层的写保护
  • 如果 AI 忽略/忘记读 AGENTS.md,enforce 形同虚设
  • V2.9 虽然 CLI 有 stdd guard 命令,但 guard 依赖于项目内 .stdd/ 结构存在且有 active change
  • 对比 Claude Code 生态(有 pre-commit hook + claude.md 强制加载)—— Hermes 平台的 guard 是靠 skill 加载时机保障的,可靠性更低

4. platform adapters 全部为空,且无 hermes-agent 适配

  • .stdd/platforms/ 有 claude-code / trae / workbuddy 三个目录,但 skills/ 子目录全部为空
  • 没有 hermes-agent 平台适配:stdd install hermes-agent 不可用
  • 当前通过 Hermes skill 加载工作,绕过了 stdd install 体系——意味着 skill 内容更新不会自动同步到平台适配文件
  • cli.md 多平台 Skills 同步检查(checklist command)需要手动 diff,缺乏自动化

5. CLI 路径 vs 项目 CLI 缺失

  • 项目 bin/stdd 不存在,CLI 入口在 ~/.stdd/bin/stdd(源目录)
  • 项目中无 stdd/ 目录(CLI 模块源)
  • Hermes skill 中的 CLI 命令引用 python3 ~/.stdd/bin/stdd <command> 可以工作,但不是原生集成的项目级入口
  • 如果不同项目安装在不同位置,CLI 入口路径必须手动调整

6. 项目 STDD 无开发历史——从零起步的骨架

  • changes/specs/ 目录已存在但为空
  • archive/ 为空——无已归档变更
  • 唯一的 proposal 是历史遗留(share-css-code-block),且未走完 STDD 生命周期
  • 对比源仓库 ~/.stdd/ 有完整的 changes/archive/specs 历史——项目级 STDD 的实际开发轨迹尚未开始
  • 意味着当前 enforce_stdd: true 在下一次实际开发请求时才第一次被真正考验