OpenSpec-practise

Changelog

本项目跟随 OpenSpec(Fission-AI/OpenSpec)版本演进的实践记录。

v1.13.0 (2026-09-09)

OpenSpec v1.13.0 是 delta 解析器与 archive 的健壮性迭代,主题是消灭静默失败:

本仓库跟进:

完整工作流实践:order-list-query

用 v1.13.0 工作流(Explore → Propose → Apply → Archive)新增「订单列表查询」,重点验证了新模板与 findings 报告:

  1. Explore(新模板) — 按 openspec list --specs 盘点 7 个能力,对照双实现路由表选定订单列表缺口;发现 Python Order 模型缺 user_id 字段的双实现差异
  2. Propose(新流程) — openspec context --json 先行;ADDED「订单列表查询」3 场景;design 记录 5 决策(服务层过滤、缺参显式 400、Python 模型补 user_id 对齐双实现 JSON 等)
  3. Apply — 双实现各约 20 行;Node 集成测试再次踩中 dev 固定 user_dev 的坑(PR #11 同款),改为相对断言,多用户隔离由 Python 侧覆盖;Node 18/18、Python 6/6
  4. findings 报告(v1.12 新特性) — 首跑抓到 3 个真实问题:cart/payment Purpose 过短、product-query Purpose 仍是归档占位符,逐一修复后清零
  5. Archive — 合并 +1 added,归档至 changes/archive/2026-09-10-order-list-query/

实践产物:主 spec order-management 更新为 4 个 Requirement。详细复盘见 v1.13.0 工作流实践文档。

v1.12.0 (2026-09-03)

OpenSpec v1.12.0 是校验报告与规划质量的迭代,核心变化:

本仓库跟进:

v1.11.0 (2026-08-26)

OpenSpec v1.11.0 是一个评审体验升级的迭代,核心变化:

本仓库跟进:

完整工作流实践:cart-query-and-remove

用 v1.11.0 工作流(Explore → Propose → Apply → Archive 内建 sync)补齐购物车闭环「查询 + 移除」,重点验证了 show --diff 新特性:

  1. Explore — 盘点 spec-code 差距,发现「移除商品」spec 有声明无代码、「查询购物车」代码已有而 spec/HTTP 均缺(双向倒挂)
  2. Propose — 生成 4 artifacts:ADDED「购物车查询」+ MODIFIED「购物车商品移除」(补不存在商品/多条目隔离场景);tasks 按 v1.10.0 模板逐条写明验证标准
  3. validate 陷阱 — MODIFIED 中改场景名被拒(场景级无 RENAMED 机制),恢复原名后通过
  4. 评审 — show --diff 演示两种渲染:ADDED 全文本、MODIFIED 仅显示真正变化的行
  5. Apply — 双实现新增 removeItem/remove_item 与 GET/DELETE 路由,Node 14/14、Python 5/5 全绿
  6. Archive — 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 工作流实践文档。

v1.10.0 (2026-08-19)

OpenSpec v1.10.0 是一个小迭代,核心变化:

本仓库跟进:

v1.9.0 (2026-08-13)

OpenSpec v1.9.0 是一个修复为主的迭代(25 commits),核心变化:

本仓库跟进:

v1.8.0 (2026-08-05)

OpenSpec v1.8.0 是一个中型迭代(34 PRs),核心变化:

本仓库跟进:

v1.7.0 (2026-07-28)

OpenSpec v1.7.0 是一个中型迭代(91 commits),核心变化:

本仓库跟进:

用 v1.7.0 的完整工作流(Explore → Propose → Update → Apply → Sync → Archive)新增「商品搜索与价格排序」功能,重点验证了 /opsx:update 新特性:

  1. Explore — 分析候选需求,选定「按名称搜索」作为最小可验证变更
  2. Propose — 生成 proposal/specs/design/tasks,声明 Modified Capability(catalog-management)
  3. Update(v1.7.0 新特性) — 实施前新增「价格排序」需求,4 个 artifacts 一致性修订:
    • 判断排序是 ADDED(新关注点)而非 MODIFIED,避免 archive 时丢失细节
    • specs 新增 4 个 Scenario(升序/降序/组合/无效值)
  4. Apply — 双实现(Node.js + Python)各改服务层与 HTTP 层,8/8 任务完成,测试全绿(10 + 4 pass)
  5. Sync — 智能合并到主 spec:MODIFIED 保留未提及内容,ADDED 新增 Requirement
  6. Archive — 一致性验证后归档至 changes/archive/2026-07-28-add-product-search/

实践产物:openspec/specs/catalog-management/spec.md 更新为 4 个 Requirement、11 个 Scenario。详细复盘见 v1.7.0 工作流实践文档。

v1.6.0 (2026-07-10)

OpenSpec v1.6.0 是一个小型迭代,核心变化:

本仓库跟进:

v1.5.0 (2026-06-28)

OpenSpec v1.5.0 是三个版本积累的重大更新。详见 升级解读文章。

三大变革:

本仓库跟进:

v1.3.1 (2026-05-07)

初始版本。基于 OpenSpec v1.3.1 的 SDD 实践,包含: