本项目跟随 OpenSpec(Fission-AI/OpenSpec)版本演进的实践记录。
OpenSpec v1.13.0 是 delta 解析器与 archive 的健壮性迭代,主题是消灭静默失败:
*/+ 列表符的 REMOVED/RENAMED 生效 — 此前只有 - 被识别:validate 通过、archive 报成功、需求却未变## ADDED Requirements 只应用一份就归档skip_specs: trueopenspec list --specs 指导(openspec list 只显示 in-flight changes)openspec context --json 确认 root 后才规划;无 root 时停下询问本仓库跟进:
openspec update --force 刷新 8 个命令/技能文件(110 行新增)order-list-query 完整工作流,详见下方用 v1.13.0 工作流(Explore → Propose → Apply → Archive)新增「订单列表查询」,重点验证了新模板与 findings 报告:
openspec list --specs 盘点 7 个能力,对照双实现路由表选定订单列表缺口;发现 Python Order 模型缺 user_id 字段的双实现差异openspec context --json 先行;ADDED「订单列表查询」3 场景;design 记录 5 决策(服务层过滤、缺参显式 400、Python 模型补 user_id 对齐双实现 JSON 等)user_dev 的坑(PR #11 同款),改为相对断言,多用户隔离由 Python 侧覆盖;Node 18/18、Python 6/6changes/archive/2026-09-10-order-list-query/实践产物:主 spec order-management 更新为 4 个 Requirement。详细复盘见 v1.13.0 工作流实践文档。
OpenSpec v1.12.0 是校验报告与规划质量的迭代,核心变化:
validate --report findings — 只输出 errors/warnings/info 的聚焦报告,保留 totals 与 exit code(适合 CI)fast-uri 安全补丁本仓库跟进:
order-list-query 中首次使用即发现 3 个真实问题OpenSpec v1.11.0 是一个评审体验升级的迭代,核心变化:
openspec show <change> --diff — 查看 change 的精确差异:ADDED 显示全文本,MODIFIED 只显示真正变化的行(colorized unified diff),REMOVED/RENAMED 给出迁移信息,支持 --json --diff 供流水线使用openspec status --all — 一条命令查看所有 active changes,JSON 输出稳定排序、单 change 失败不中断扫描sync 命令,openspec archive 一条命令完成合并 delta + 更新主 spec + 归档,并打印合并统计--strict 失败)本仓库跟进:
openspec update --force 刷新全部技能和命令文件cart-query-and-remove 完整工作流,详见下方用 v1.11.0 工作流(Explore → Propose → Apply → Archive 内建 sync)补齐购物车闭环「查询 + 移除」,重点验证了 show --diff 新特性:
show --diff 演示两种渲染:ADDED 全文本、MODIFIED 仅显示真正变化的行removeItem/remove_item 与 GET/DELETE 路由,Node 14/14、Python 5/5 全绿openspec archive 一条命令完成合并(+1 added / ~1 modified)+ 归档,主 spec 保真合并(未提及需求原样保留)实践产物:openspec/changes/archive/2026-09-02-cart-query-and-remove/,主 spec cart-management 更新为 4 个 Requirement。详细复盘见 v1.11.0 工作流实践文档。
OpenSpec v1.10.0 是一个小迭代,核心变化:
openspec init --language — 非英语 artifacts 语言声明(SHALL/MUST 保持英文即可校验)本仓库跟进:
cart-query-and-remove 中生效OpenSpec v1.9.0 是一个修复为主的迭代(25 commits),核心变化:
validate --archived — 检查归档变更的任务完整性,可作为 CI 钩子--tools command-codelist/validate 在 OpenSpec 根外运行时明确报错## Requirements 周围的空行、EOF 统一为单个换行本仓库跟进:
openspec update --force 刷新全部技能和命令文件OpenSpec v1.8.0 是一个中型迭代(34 PRs),核心变化:
retire_capabilities: true 可清理空能力 spectelemetry.enabled: false 可关闭本仓库跟进:
OpenSpec v1.7.0 是一个中型迭代(91 commits),核心变化:
/opsx:update 技能 — 修订既有 change 的规划文档,保持 proposal/specs/design/tasks 之间的一致性,不修改代码view 命令加入 store 支持,spec 描述强调 delta 语义openspec update 检测到 CLI 版本过旧时主动提示升级本仓库跟进:
openspec update --force 刷新全部技能和命令文件/opsx:update 命令与 openspec-update-change 技能用 v1.7.0 的完整工作流(Explore → Propose → Update → Apply → Sync → Archive)新增「商品搜索与价格排序」功能,重点验证了 /opsx:update 新特性:
changes/archive/2026-07-28-add-product-search/实践产物:openspec/specs/catalog-management/spec.md 更新为 4 个 Requirement、11 个 Scenario。详细复盘见 v1.7.0 工作流实践文档。
OpenSpec v1.6.0 是一个小型迭代,核心变化:
allowed-tools: Bash(openspec:*)) — 所有生成的命令和技能文件新增此声明,AI 执行 openspec 命令时不再弹出权限确认,大幅减少操作打断/opsx:update 技能 — 支持在 apply 过程中更新规划文档validate、view、archive 收敛到统一的 canonical resolution本仓库跟进:
openspec update --force 刷新所有 .claude/ 技能和命令文件OpenSpec v1.5.0 是三个版本积累的重大更新。详见 升级解读文章。
三大变革:
schema.yaml,AI 通过 openspec instructions --json 动态获取上下文/opsx:explore 提升为推荐工作流入口本仓库跟进:
.qoder/ 迁移至 .claude/examples/openspec/ 统一至根级 openspec/changes/archive/2025-01-27-v1-mvp/add-product-get-by-id 完整 SDD 工作流(Explore→Propose→Apply→Sync→Archive)初始版本。基于 OpenSpec v1.3.1 的 SDD 实践,包含:
.qoder/ AI 工具配置