YC科技资讯网

OpenSpec实践:在现有项目上创建新变更-2

本文在前面示例项目的基础上进行业务需求变更。当前用户删除采用物理删除,会导致用户数据不可追溯,不利于审计与业务回滚。同时

本文在前面示例项目的基础上进行业务需求变更。

当前用户删除采用物理删除,会导致用户数据不可追溯,不利于审计与业务回滚。同时用户资料缺少 title(头衔)字段,无法满足展示与管理需求。需要将删除语义调整为软删除,并扩展用户信息模型。

一、步骤三:创建第三个工件(specs)

在 GitHub Copilot Chat 中输入以下命令:

/opsx-continue user-soft-delete-and-title

这一步完成的是 specs 工件创建(只创建了这一个工件),核心工作如下:

1. 选择并创建下一工件

基于当前状态(proposal、design 已完成),创建了下一个 ready 工件:specs。

文件位置:spec.md

2. 按“修改现有能力”方式落规范

按 proposal 中 Modified Capabilities 的 user-management-api 生成了 delta spec。

使用 ## MODIFIED Requirements 组织,覆盖受影响的完整需求块(而不是只写片段)。

3. 规格内容的关键落点

删除语义改为软删除:DELETE 由物理删除改为 status=-1。有效状态明确:status=0 有效,status=-1 无效。默认值行为明确:创建用户未传 status 时默认写入 0。查询约束明确:按 ID 和分页查询默认仅返回 status=0 的有效用户。新增字段贯通:title 纳入创建、查询、PUT、PATCH。异常路径补齐:已软删除用户查询/更新/重复删除按“用户不存在”处理。数据保留语义补齐:软删除后记录仍保留在 user_info 表。

4. 进度变化

变更进度从 2/4 提升到 3/4。

当前状态:proposal、design、specs 已完成,下一步只剩 tasks。

二、步骤4:创建第四个工件(tasks)

在 GitHub Copilot Chat 中输入以下命令:

/opsx-continue user-soft-delete-and-title

本次任务完成了 tasks.md 文件的创建。

现在,已经完成了 proposal、design、specs、tasks 四个步骤。

当前,所有规划工件完成后,下一步开始实施。