测试用例 (Test Case)
/tc — 技术变更追踪器 (Technical Change Tracker)
执行 TC (Technical Change) 命令。参数:$ARGUMENTS。
如果 $ARGUMENTS 为空,打印此菜单并停止:
/tc init 在此项目中初始化 TC 追踪
/tc create <name> 创建新的 TC 记录
/tc update <tc-id> [...] 更新字段、状态、文件或交接内容
/tc status [tc-id] 显示单个 TC 或注册表摘要
/tc resume <tc-id> 从之前的会话恢复 TC
/tc close <tc-id> 将 TC 状态转移至已部署 (deployed)
/tc export 重新渲染派生产物
/tc dashboard 重新渲染注册表摘要否则,将 $ARGUMENTS 解析为 <subcommand> <rest> 并分发到下方对应的协议。所有脚本均位于 engineering/tc-tracker/scripts/。
子命令
init
1. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_init.py --root . --json2. 如果状态为
already_initialized,报告当前统计数据并停止。3. 否则,报告创建的内容并建议下一步执行
/tc create <name>。
create <name>
1. 将 <name> 解析为 kebab-case 格式的 slug。如果缺失,请要求用户提供。
2. 依次向用户询问以下信息(一次一个问题):
- 标题 (Title):5-120 字符
- 范围 (Scope):feature | bugfix | refactor | infrastructure | documentation | hotfix | enhancement
- 优先级 (Priority):critical | high | medium | low(默认 medium)
- 摘要 (Summary):10 字符以上
- 动机 (Motivation)
3. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_create.py --root . \
--name "<slug>" --title "<title>" --scope <scope> --priority <priority> \
--summary "<summary>" --motivation "<motivation>" --json4. 报告新的 TC ID 和记录文件路径。
update <tc-id> [intent]
1. 如果 <tc-id> 缺失,通过 tc_status.py --all 列出所有活跃的 TC(状态为 in_progress 或 blocked)并询问用户选择哪一个。
2. 从自然语言中确定用户的意图:
- 状态变更 $\rightarrow$ --set-status <state> 配合 --reason "<why>"
- 添加文件 $\rightarrow$ 一个或多个 --add-file path[:action]
- 添加测试 $\rightarrow$ --add-test "<title>" --test-procedure "<step>" --test-expected "<result>"
- 更新交接内容 $\rightarrow$ --handoff-progress, --handoff-next, --handoff-blocker, --handoff-context 的任意组合
- 添加备注 $\rightarrow$ --note "<text>"
- 添加标签 $\rightarrow$ --tag <tag>
3. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> [flags] --json4. 如果退出码非零,原样显示错误信息。状态机和验证器会拒绝无效的转移——请勿盲目重试。
status [tc-id]
- 如果提供了
<tc-id>:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --tc-id <tc-id>- 否则:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --allresume <tc-id>
1. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --tc-id <tc-id> --json2. 显著地显示交接区块:
progress_summary(进度摘要)、next_steps(下一步,编号列出)、blockers(阻碍因素)、key_context(关键上下文)。3. 询问:“恢复 <tc-id> 并从下一步 1 开始执行吗?(y/n)”
4. 如果为 yes,运行更新以记录状态。
恢复操作:
python3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> \
--note "Session resumed" --reason "session handoff"5. 开始执行
next_steps 中的第一项。不要重新推导上下文 —— 直接信任交接内容。
close <tc-id>
1. 通过 tc_status.py --tc-id <tc-id> --json 读取记录。
2. 验证当前状态是否为 tested。如果不是,请拒绝并告知用户仍需要哪些状态转换。
3. 检查 test_cases:如果任何一项为 pending、fail 或 blocked,请发出警告。
4. 询问用户:
- “谁在审批?(你的姓名,或 'self')”
- “审批备注(可选):”
- “测试覆盖状态:none / partial / full”
5. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> \
--set-status deployed --reason "Approved by <approver>" --note "Approval: <approver> — <notes>"如果你的脚本版本支持,随后直接编辑
approval 块;否则,指示用户在 notes 中记录审批信息。6. 报告:“TC-NNN 已关闭并部署。”
export
本技能不支持自动 HTML 导出。请改为重新验证所有内容:
1. 读取注册表(registry)。
2. 对每条记录运行:
python3 engineering/skills/tc-tracker/scripts/tc_validator.py --record <path> --json3. 运行:
python3 engineering/skills/tc-tracker/scripts/tc_validator.py --registry docs/TC/tc_registry.json --json4. 报告:验证记录总数、任何错误以及无效项的路径。
dashboard
运行所有记录摘要:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --all铁律
1. 严禁手动编辑 tc_record.json。 必须使用 tc_update.py 以确保修订历史被追加且验证程序得以运行。
2. 严禁跳过状态机。 即使觉得冗余,也要按状态顺序向前推进。
3. 严禁删除 TC。 历史记录仅限追加 —— 请添加最终修订版本并标记为 [CANCELLED]。
4. 后台账目管理。 在任务执行过程中,启动后台子代理来更新 TC。不要为了处理文档而暂停编码。
5. 报告成功前必须验证。 如果脚本以非零状态退出,请显示错误并停止。
相关技能
engineering/tc-tracker— 完整的 SKILL.md,包含模式引用、生命周期图和交接格式。
engineering/changelog-generator— 与 TC 追踪器配合使用:TC 用于单次变更的审计追踪,changelog 用于面向用户的发布说明。
engineering/tech-debt-tracker— 用于追踪长期技术债,而非离散的代码变更。