标题(20-200 字符) · 锁定 title 仅 draft 状态可编辑。如需修改,请先回退到 draft。 描述(背景/上下文) ## 背景 d560644e(架构平台增加删除功能)在 REQ-69212ee4 批量清理 9 条 0-commit verified REQ 时被错误地 rejected。原 REQ 标题过于简略(无 description/AC),清理脚本判断失误,未识别出这是真实未完成需求。 ## 现状 - components.py 只有 GET/POST/PATCH,**无 DELETE endpoint** - CLI arch component 只有 create/get/list/update,**无 delete/archive/restore** - Component 模型已有 is_archived 字段(对齐 Requirement 软删除模式),但**路由层未启用** ## 实施方案 1. backend/app/routes/components.py: - DELETE /{component_id}:软删除(is_archived=true),冲突检测(被其他复合组件引用则 409) - POST /{component_id}/restore:撤销软删除 - GET / 默认过滤 archived;加 ?include_archived=true 2. CLI arch component: - delete <id|name> [--reason TEXT] - restore <id|name> 3. 业务规则: - 已删除组件不可 update/composed_of 引用 - delete 必填 reason(≥10 字符,记录清理意图) - 复合组件:被引用时禁止删除(409),提示先解除依赖 4. 测试用例(8 个):见 AC ## 关联 - 被错误 rejected 的原 REQ: d560644e(留作审计) - 同批错误清理的还有 8 条 REQ(可能需要复查) 用户故事 验收标准(JSON,数组,每项 given/when/then) [] 支持 JSON 数组格式。空数组表示无 AC。 非功能需求(JSON 对象,key/value 字符串) {} 优先级 P0 P1 P2 P3 负责人 截止日期 标签(逗号分隔) 保存修改 取消