Files
L2keka/docs/user-stories.md
T

5.7 KiB
Raw Blame History

AI-Review 用户故事与验收用例

来源:config/teams.json(2026年技术大赛报名表 14 支真实队伍) 覆盖机制:评审管线(3阶段)、按时提交(§3.3.9 增强)、空仓库影响、硬规则、校准、L2/L3 认定 用途:驱动验收测试 server/src/__tests__/user-stories.test.ts


1. 参赛选手(Primary Actor

US-01 按时提交的参赛者

作为 一名按时完成开发并在截止日前提交代码的参赛者, 我希望 我的作品被完整评审且不受迟交扣分, 以便 我得到与作品质量相匹配的分数。

验收标准:

  • US-01-1 评审管线完整运行(clone → 构建 → 维度 → 校准 → 硬规则 → 出分)
  • US-01-2 提交时间 = git 最后 commit 时间,且早于 project.deadline → late_days ≤ 0penalty = 0
  • US-01-3 最终得分 = 原始总分(无迟交扣分)

US-02 迟交的参赛者

作为 一名错过截止日期后才提交代码的参赛者, 我希望 系统明确记录我的迟交天数并扣除相应分数, 以便 公平地与其他按时提交的队伍竞争。

验收标准:

  • US-02-1 commit 时间晚于 deadline → late_days > 0
  • US-02-2 penalty = min(总分, late_days × late_penalty),默认 late_penalty=5
  • US-02-3 迟交超过 7 天 → 扣光总分
  • US-02-4 前端展示「迟交 N 天」标识

US-03 空仓库/未上传代码的参赛者

作为 一名建了条目但仓库内容为空的参赛者, 我希望 系统不因 git 异常而逃逸扣分,同时如实反映空仓库的评分影响, 以便 评审结果公平反映"没有交付内容"的事实。

验收标准:

  • US-03-1 空仓库(可 clone,无文件)→ 走正常评审,不出逃逸
  • US-03-2 空仓库文件数 = 0,代码统计全 0 注入 AI context
  • US-03-3 Agent核心维度门槛 4 项全失败 → 判定 0 分
  • US-03-4 演示与文档维度无 README → 硬规则封顶 ≤2 分
  • US-03-5 迟交判定:无 git commit → 用条目创建时间兜底,若创建晚于 deadline 则正常扣分

US-04 自拟选题的参赛者(A0/B0)

作为 一名选择"自拟选题"并把自己的实际选题写在备注栏的参赛者, 我希望 系统按我上传的标准维度进行评审, 以便 我的自拟项目得到合理评估。

验收标准:

  • US-04-1 带 track 创建项目 → 自动导入对应赛道默认标准
  • US-04-2 赛道一/赛道二 标准维度数与总分符合模板(赛道一 12维/150、赛道二 8维/100

US-05 选择官方选题的参赛者(A1-A6/B1-B6

作为 一名选择官方给定选题的参赛者, 我希望 系统按赛道标准评审而不受选题编号影响, 以便 官方选题与自拟选题公平竞争。

验收标准:

  • US-05-1 标准快照在评审时被锁定(standard_snapshot),后续改标准不影响已评审结果
  • US-05-2 评审依据维度优先使用标准快照内容(dim.content 优先于内置兜底指南)

2. 项目管理员(Admin

US-06 创建比赛项目

作为 项目管理员, 我希望 创建项目时必须指定赛道并设置截止时间, 以便 系统能自动导入对应标准并支持迟交判定。

验收标准:

  • US-06-1 创建项目缺 track → 400 赛道为必选项
  • US-06-2 带 track 创建 → 自动导入默认标准
  • US-06-3 可设置 deadlinelate_penalty

US-07 批量导入参赛队伍

作为 项目管理员, 我希望 从报名表批量导入队伍(含 gittea 凭据与选题), 以便 快速录入 14 支队伍。

验收标准:

  • US-07-1 批量导入合法条目成功
  • US-07-2 重复 repo_url 被唯一约束拒绝
  • US-07-3 非法 service_url(内网/本机)被拒绝

US-08 人工修正评审结果

作为 项目管理员, 我希望 人工修正维度分数后系统重新计算总分与最终分(含迟交扣分), 以便 纠正 AI 评分偏差。

验收标准:

  • US-08-1 修正后重算 totalScore,应用 max_score_cap 再扣迟交
  • US-08-2 迟交扣分复用已存的 late_days(不重新判定提交时间)

3. 评审系统自身(System

US-09 评审管线按阶段推进

作为 评审系统, 我希望 评审按固定管线执行并能被诊断, 以便 任何阶段失败都不会静默挂起。

验收标准:

  • US-09-1 管线日志 [pipe:entryId] 覆盖 START/CLONE/ANALYZE/GATES/TEST/BROWSE/OVERVIEW/SUBAGENT/DONE/FAIL
  • US-09-2 任一步骤抛错 → FAIL 兜底,状态不静默卡死

US-10 维度独立评分

作为 评审系统, 我希望 每个维度独立评分,互不因其他维度判定而扣分, 以便 例如非 Agent 项目只要测试真实通过就应给效果与数据分。

验收标准:

  • US-10-1 效果与数据维度有真实测试证据时据实给分,不因"非 Agent"否决

用户故事 → 测试映射

用户故事 验收用例 测试文件位置
US-01 按时提交 US-01-1 ~ US-01-3 user-stories.test.ts TC-US01
US-02 迟交 US-02-1 ~ US-02-4 user-stories.test.ts TC-US02
US-03 空仓库 US-03-1 ~ US-03-5 user-stories.test.ts TC-US03
US-04 自拟选题 US-04-1 ~ US-04-2 user-stories.test.ts TC-US04
US-05 官方选题 US-05-1 ~ US-05-2 user-stories.test.ts TC-US05
US-06 创建项目 US-06-1 ~ US-06-3 user-stories.test.ts TC-US06
US-07 批量导入 US-07-1 ~ US-07-3 user-stories.test.ts TC-US07
US-08 人工修正 US-08-1 ~ US-08-2 user-stories.test.ts TC-US08
US-09 管线诊断 US-09-1 ~ US-09-2 user-stories.test.ts TC-US09
US-10 维度独立 US-10-1 user-stories.test.ts TC-US10