feat: 根目录文档、脚本、gitignore

This commit is contained in:
2026-10-08 16:15:33 +08:00
commit e98660ce4e
284 changed files with 26838 additions and 0 deletions
@@ -0,0 +1,155 @@
# 验收标准(AC)— 依据 prd.md v1.24,14 条 FR 全覆盖
> 格式:Given/When/Then;编号 AC-{FR后缀}-{序号};每条 FR ≥1 正常 + ≥1 异常/边界。
> 分期标注同 FR:①一期 ②二期 ③三期。
## AC-001 用户需求管理(FR-001,复用+②)
- **AC-001-1(正常路径)**
- Given:业务部门在系统创建用户需求并提交评审
- When:全员评审通过(userReview)
- Then:status=active;revieweddate 落库(=审批时间口径);二期后 activateddate 同步落库
- **AC-001-2(异常路径)**
- Given:需求处于 reviewing
- When:评审不通过(revieweResult=0)
- Then:需求关闭,closedby/closeddate/closedreason 落库
## AC-002 需求讨论会与纪要 MD(FR-002,②)
- **AC-002-1(正常路径)**
- Given:已创建会议(关联用户需求)
- When:上传 .md 会议纪要(可多次)
- Then:zt_file(objectType=meeting) 新增附件;列表显示操作人(addedBy)/操作时间(addedDate)/会议人(users);点击在线渲染;zt_meeting.url 刷新为最新一份
- **AC-002-2(边界)**
- Given:上传 PDF/图片格式纪要
- Then:维持下载查看,不渲染
- **AC-002-3(异常/匹配)**
- Given:需求 ID=12,存在关联需求 112 的会议
- When:查看需求 12 的「需求讨论会议」tab
- Then:仅列出 FIND_IN_SET 精确匹配需求 12 的会议,不误中 112
## AC-003 PRD 文档管理(FR-003,复用+②)
- **AC-003-1(正常路径)**
- Given:PRD 定稿(pmassist 产出 .md)
- When:经 /common/upload 上传至需求(FileTypes.story/userStory)
- Then:附件列表可见可下载;生成时间记入工作日志 MD(prd_version 类,FR-011)
- **AC-003-2(边界)**
- Given:同一需求上传多版 PRD
- Then:多份按上传时间排列,历史均可下载
## AC-004 需求级 AI 工作量指标(FR-004,①+②)
- **AC-004-1(正常路径)**
- Given:框架完成评估
- When:调 /zt-story-expand/saveOrUpdate(含 aiParticipationRate)
- Then:zt_story_expand 落库,含 ai_participation_rate 新列
- **AC-004-2(幂等)**
- Given:同 storyId 已存在记录
- When:再次提交
- Then:更新不新增(一行记录)
- **AC-004-3(异常)**
- Given:需求 requirementStatus=finished
- When:再次提交变更
- Then:拒绝(沿用现有 finished 锁定规则)
## AC-005 验收标准与测试用例管理(FR-005,复用)
- **AC-005-1(验证)**
- Given:研发需求已录入验收标准(verify)与用例
- Then:详情页展示验收标准富文本;用例评审链(story-case)可流转
## AC-006 研发任务双通道(FR-006,②)
- **AC-006-1(正常路径)**
- Given:合法 aiBatchAdd 报文(含 devel/test 任务)
- When:提交
- Then:任务批量创建:status=wait、创建人=ai、estimate=aiEvaluationTime;响应返回 taskIds;测试任务指派测试人员
- **AC-006-2(异常路径)*
- Given:storyId 不存在或 type 非法
- Then:整批拒绝,code≠0,零入库
- **AC-006-3(防重)**
- Given:同 storyId+name+type 已存在
- Then:跳过并记入 skipped,其余正常创建
## AC-007 任务级 AI 工时(FR-007,豁免验证)
- **AC-007-1(正常路径)**
- When:aiBatchAdd 创建任务
- Then:zt_task.estimate=报文 aiEvaluationTime(标准字段直接可用,无扩展表)
- **AC-007-2(豁免)**
- Then:数据库中不存在 zt_task_extend 表(CHG-019 不建)
## AC-008 AI 代码审查报告 MD(FR-008,②)
- **AC-008-1(正常路径)**
- Given:需求下全部开发任务完工
- When:uploadBind 上传审查 MD(objectType=aiCodeReview)
- Then:zt_file 落附件;code_review_url 刷新;code_review_status 写入(pass/reject);详情页在线查看
- **AC-008-2(SOP 卡点)**
- Given:code_review_status≠pass(NULL 或 reject)
- Then:「提交测试报告」按钮禁用
- **AC-008-3(多轮回炉)**
- Given:第 1 轮 reject 后修复
- When:上传第 2 轮报告
- Then:url 刷新为最新;历史多份保留;extra.round 递增
- **AC-008-4(异常)**
- Given:缺 storyId 或 objectType 非法
- Then:拒绝并返回错误
## AC-009 测试任务与 BUG(FR-009,复用)
- **AC-009-1(验证)**
- Then:BUG 全流程可走通:提交→指派→修复→复测→验收(bugYs)
## AC-010 测试类文档 4 字段(FR-010,②)
- **AC-010-1(用例/模版)**
- Then:测试用例(testCase)与报告模版(testReport)可查看、可下载,不可上传覆盖
- **AC-010-2(提交)**
- When:上传填完的报告(testReportSubmit)
- Then:test_report_submit_url 刷新;FR-014 判定该项齐备
- **AC-010-3(其他文档)**
- When:上传其他测试文档(testOther)
- Then:test_other_url 刷新,可查看下载
## AC-011 AI 工作日志 MD(FR-011,②)
- **AC-011-1(正常路径)**
- Given:框架节点产出日志 MD
- When:upload_md.py --type aiWorkLog 上传
- Then:zt_file(aiWorkLog) 落附件、work_log_url 刷新、在线查看
- **AC-011-2(时效)**
- Then:事件产生即传,不做月末批量补传;人工按钮为备选通道
## AC-012 工作量指标完成率统计(FR-012,③)
- **AC-012-1(正常路径)**
- Given:zt_story_month_workload 当月有数据、考勤可用
- When:查询完成率
- Then:=Σ(月度工作量指数)÷(团队可用工作天数×5);测试人员不计入产出方
## AC-013 九岗位绩效报表(FR-013,③)
- **AC-013-1(规则配置化)**
- Given:zt_perf_config 已灌入 7.5 权重规则
- Then:✅ 项自动产出;权重/阈值改动仅需改配置
- **AC-013-2(对拍验收)**
- Given:最近 1~2 个已线下考核月份
- Then:系统算分与线下 Excel 一致或差异可解释
## AC-014 大型需求文档齐备自动核查(FR-014,③)
- **AC-014-1(正常路径)**
- Given:大型需求(指数>20)五类文档齐全
- When:月度核查
- Then:五类全 ✓、不扣分、写 zt_doc_check 快照
- **AC-014-2(扣分)**
- Given:缺 2 份
- Then:扣 4 分(每份 2 分)写 zt_month_score.scopeJson
- **AC-014-3(判定源正确性)**
- Then:《需求测试报告》以 zt_file(testReportSubmit) 为准(非 testReport 模版);《AI 文档更新记录》以 zt_file(aiWorkLog) 中 doc_update 类为准
- **AC-014-4(异议)**
- Given:对判定结果申诉
- When:技术负责人复核撤销
- Then:回滚对应扣分并留痕