名称:fiftyone-pr-triage 描述:通过验证状态、分类解决方案并生成标准化响应来对FiftyOne GitHub问题进行分流。在审查问题以确定是否已修复、不予修复、无法重现、不再相关或仍然有效时使用。
FiftyOne 问题分流
分流类别
| 类别 | 何时使用 |
|---|---|
| 已修复 | 问题在最近的提交/发布中已解决 |
| 不予修复 | 设计如此、超出范围或与项目目标不符 |
| 无法重现 | 无法根据提供的信息重现 |
| 不再相关 | FiftyOne版本过时、功能已弃用或问题陈旧 |
| 仍然有效 | 已确认的错误或有效的功能请求 |
分流工作流程
步骤1:阅读问题详情
提取关键信息:
- 问题类型:[BUG] / [FR] / [?]
- 报告的FiftyOne版本
- 重现代码
- 错误信息/堆栈跟踪
- 相关模块/功能
步骤2:搜索代码库
# 搜索相关代码
grep -r "关键词" fiftyone/
grep -r "类名" fiftyone/core/
# 查找问题中提到的模块
find fiftyone/ -name "*.py" | xargs grep -l "函数名"
步骤3:检查Git历史记录
# 与问题相关的最近提交
git log --oneline --since="2024-01-01" -- fiftyone/路径/到/模块.py
# 搜索提交信息
git log --oneline --grep="关键词"
# 检查特定函数是否被修改
git log -p --all -S "函数名" -- "*.py"
# 追溯特定行
git blame fiftyone/路径/到/文件.py -L 100,120
步骤4:检查相关PR/问题
# 搜索已关闭的问题
gh issue list --repo voxel51/fiftyone --state closed --search "关键词"
# 搜索PR
gh pr list --repo voxel51/fiftyone --state merged --search "关键词"
步骤5:分类并回复
根据发现的结果,选择类别并使用相应的回复模板。
类别决策树
报告的问题
│
├─ 能否重现?
│ ├─ 否 → "无法重现"
│ └─ 是 ↓
│
├─ 是否在最近的提交/发布中已修复?
│ ├─ 是 → "已修复"
│ └─ 否 ↓
│
├─ 这是设计如此还是超出范围?
│ ├─ 是 → "不予修复"
│ └─ 否 ↓
│
├─ 问题是否仍然相关?(版本、功能是否存在)
│ ├─ 否 → "不再相关"
│ └─ 是 → "仍然有效"
回复模板
已修复
你好 @{作者},
此问题已在 {版本/提交} 中得到解决。
**修复详情:**
- PR:#{pr编号} 或 提交:`{提交哈希}`
- 文件:`{文件路径}`
- 变更:{简要描述}
**解决方法:**
```bash
pip install --upgrade fiftyone
请更新并告知我们问题是否仍然存在。
### 不予修复
```markdown
你好 @{作者},
感谢您的详细报告。经过调查,我们确定此问题是 {原因}:
**原因:** {解释}
{如果适用,提供替代方案}
我们将关闭此问题,但如果您有更多背景信息,请随时重新打开。
常见原因:
- 设计如此
- 超出项目范围
- 会破坏向后兼容性
- 性能/复杂性权衡
无法重现
你好 @{作者},
我们无法根据提供的信息重现此问题。
**测试环境:**
- FiftyOne:v{版本}
- Python:{python版本}
- 操作系统:{操作系统}
**请提供:**
1. 最小可重现示例
2. 完整的错误堆栈跟踪
3. 样本数据(如果适用)
一旦我们能重现,我们将重新打开此问题。
不再相关
你好 @{作者},
此问题似乎不再相关:
**原因:** {原因}
{详情}
如果您在FiftyOne v{当前版本}上仍然遇到此问题,请提供更新后的详细信息并提交新问题。
常见原因:
- 报告的版本已严重过时
- 相关功能已被弃用/移除
- 6个月以上无活动
- 与已解决问题重复
仍然有效
你好 @{作者},
已确认此问题。以下是我们的分析:
**摘要:**
{错误/功能的简要描述}
**根本原因:**
{带有代码引用的技术解释}
**建议修复:**
{方法或PR(如果提议)}
**受影响的代码:**
- 文件:`{文件路径}:{行号}`
- 函数:`{函数名}`
{后续步骤}
代码引用格式
在回复中引用代码时:
**位置:** `fiftyone/core/module.py:123`
**当前行为:**
```python
# 第123-130行
def problematic_function():
...
建议变更:
def fixed_function():
...
## 调查清单
分类前,请验证:
- [ ] 阅读完整问题描述和评论
- [ ] 检查报告的FiftyOne版本与当前版本
- [ ] 在代码库中搜索相关代码
- [ ] 检查Git历史记录以查找最近的修复
- [ ] 搜索已关闭问题以查找重复项
- [ ] 尝试重现(如果是错误)
- [ ] 确定根本原因或理由
## 快速参考
| 类别 | 关键指标 | 响应操作 |
|----------|---------------|-----------------|
| 已修复 | 在Git日志中找到修复 | 指向PR/提交,建议升级 |
| 不予修复 | 设计如此或超出范围 | 解释原因,建议替代方案 |
| 无法重现 | 无法重现 | 请求更多信息 |
| 不再相关 | 旧版本、陈旧、已弃用 | 解释原因,建议新问题 |
| 仍然有效 | 已确认,无修复存在 | 记录根本原因,提出修复 |