Loading...
Loading...
Compare original and translation side by side
date,file,line,rule_source,category,severity,issue,verdict,rationale| Field | Type | Description | Example Values |
|---|---|---|---|
| ISO date | When review occurred | |
| path | Relative file path | |
| string | Line number(s) | |
| string | Skill and rule that triggered issue | |
| enum | Issue taxonomy | |
| enum | As flagged by reviewer | |
| string | Brief description | |
| enum | Human decision | |
| string | Why verdict was chosen | |
date,file,line,rule_source,category,severity,issue,verdict,rationale| 字段 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| ISO日期 | 评审发生时间 | |
| 路径 | 相对文件路径 | |
| 字符串 | 行号 | |
| 字符串 | 触发问题的技能和规则 | |
| 枚举 | 问题分类 | |
| 枚举 | 评审标记的严重程度 | |
| 字符串 | 问题简要描述 | |
| 枚举 | 人工决策结果 | |
| 字符串 | 决策理由 | |
| Verdict | Meaning | Action |
|---|---|---|
| Issue is valid, will fix | Code change made |
| Issue is invalid/wrong | No change; may improve skill |
| Valid but not fixing now | Tracked for later |
| Valid but intentional | Document why it's intentional |
| 结论 | 含义 | 操作 |
|---|---|---|
| 问题有效,将修复 | 进行代码变更 |
| 问题无效/错误 | 不做变更;可能需要优化技能 |
| 问题有效,但暂不修复 | 跟踪留待后续处理 |
| 问题有效,但为有意设计 | 记录设计意图 |
2025-12-27,amelia/agents/developer.py,128,python-code-review:type-safety,type-safety,major,Return type list[Any] loses type safety,ACCEPT,Changed to list[AgentMessage]2025-12-23,amelia/drivers/api/openai.py,102,python-code-review:line-length,style,minor,Line too long (104 > 100),REJECT,ruff check passes - no E501 violation exists2025-12-22,api/handlers.py,45,fastapi-code-review:error-handling,error-handling,minor,Missing specific exception type,DEFER,Refactoring planned for Q12025-12-21,core/cache.py,89,python-code-review:optimization,patterns,minor,Using dict instead of dataclass,ACKNOWLEDGE,Performance-critical path - intentional2025-12-27,amelia/agents/developer.py,128,python-code-review:type-safety,type-safety,major,Return type list[Any] loses type safety,ACCEPT,Changed to list[AgentMessage]2025-12-23,amelia/drivers/api/openai.py,102,python-code-review:line-length,style,minor,Line too long (104 > 100),REJECT,ruff check passes - no E501 violation exists2025-12-22,api/handlers.py,45,fastapi-code-review:error-handling,error-handling,minor,Missing specific exception type,DEFER,Refactoring planned for Q12025-12-21,core/cache.py,89,python-code-review:optimization,patterns,minor,Using dict instead of dataclass,ACKNOWLEDGE,Performance-critical path - intentionalskill-name/section:rule-idskill-name:rule-idpython-code-review/common-mistakes:unused-variablespydantic-ai-common-pitfalls:tool-decoratorfastapi-code-review:dependency-injectionpytest-code-review:fixture-scopeskill-name/section:rule-idskill-name:rule-idpython-code-review/common-mistakes:unused-variablespydantic-ai-common-pitfalls:tool-decoratorfastapi-code-review:dependency-injectionpytest-code-review:fixture-scope| Category | Description | Examples |
|---|---|---|
| Type annotation issues | Missing types, incorrect types, |
| Async/await issues | Blocking in async, missing await |
| Exception handling | Bare except, missing error handling |
| Code style/formatting | Line length, naming conventions |
| Design patterns | Anti-patterns, framework misuse |
| Test quality | Missing coverage, flaky tests |
| Security issues | Injection, secrets exposure |
| 分类 | 描述 | 示例 |
|---|---|---|
| 类型注解问题 | 缺失类型、类型错误、 |
| 异步/等待问题 | 异步代码中的阻塞操作、缺失await |
| 异常处理问题 | 裸except、缺失错误处理 |
| 代码风格/格式问题 | 行长度、命名规范 |
| 设计模式问题 | 反模式、框架误用 |
| 测试质量问题 | 缺失测试覆盖、不稳定测试 |
| 安全问题 | 注入攻击、密钥泄露 |
date,file,line,rule_source,category,severity,issue,verdict,rationale
2025-12-20,tests/integration/test_cli_flows.py,407,pytest-code-review:parametrization,testing,minor,Unused extra_args parameter in parametrization,ACCEPT,Fixed - removed dead parameter
2025-12-20,tests/integration/test_cli_flows.py,237-242,pytest-code-review:coverage,testing,major,Missing review --local in git repo error test,REJECT,Not applicable - review uses different error path
2025-12-21,amelia/server/orchestrator/service.py,1702,python-code-review:immutability,patterns,critical,Direct mutation of frozen ExecutionState,ACCEPT,Fixed using model_copy(update={...})
2025-12-23,amelia/drivers/api/tools.py,48-53,pydantic-ai-common-pitfalls:tool-decorator,patterns,major,Misleading RunContext pattern - should use decorators,REJECT,pydantic-ai docs explicitly support passing raw functions with RunContext to Agent(tools=[])
2025-12-23,amelia/drivers/api/openai.py,102,python-code-review:line-length,style,minor,Line too long (104 > 100),REJECT,ruff check passes - no E501 violation exists
2025-12-27,amelia/core/orchestrator.py,190-191,python-code-review:exception-handling,error-handling,major,Generic exception handling in get_code_changes_for_review,ACCEPT,Changed Exception to (FileNotFoundError OSError)
2025-12-27,amelia/agents/developer.py,128,python-code-review:type-safety,type-safety,major,Return type list[Any] loses type safety,ACCEPT,Changed to list[AgentMessage] and removed unused Any importdate,file,line,rule_source,category,severity,issue,verdict,rationale
2025-12-20,tests/integration/test_cli_flows.py,407,pytest-code-review:parametrization,testing,minor,Unused extra_args parameter in parametrization,ACCEPT,Fixed - removed dead parameter
2025-12-20,tests/integration/test_cli_flows.py,237-242,pytest-code-review:coverage,testing,major,Missing review --local in git repo error test,REJECT,Not applicable - review uses different error path
2025-12-21,amelia/server/orchestrator/service.py,1702,python-code-review:immutability,patterns,critical,Direct mutation of frozen ExecutionState,ACCEPT,Fixed using model_copy(update={...})
2025-12-23,amelia/drivers/api/tools.py,48-53,pydantic-ai-common-pitfalls:tool-decorator,patterns,major,Misleading RunContext pattern - should use decorators,REJECT,pydantic-ai docs explicitly support passing raw functions with RunContext to Agent(tools=[])
2025-12-23,amelia/drivers/api/openai.py,102,python-code-review:line-length,style,minor,Line too long (104 > 100),REJECT,ruff check passes - no E501 violation exists
2025-12-27,amelia/core/orchestrator.py,190-191,python-code-review:exception-handling,error-handling,major,Generic exception handling in get_code_changes_for_review,ACCEPT,Changed Exception to (FileNotFoundError OSError)
2025-12-27,amelia/agents/developer.py,128,python-code-review:type-safety,type-safety,major,Return type list[Any] loses type safety,ACCEPT,Changed to list[AgentMessage] and removed unused Any import| Pattern | Root Cause | Prevention |
|---|---|---|
| "Unused variable" | Variable used elsewhere | Search all references |
| "Missing validation" | Framework validates | Check Pydantic/Zod/etc. |
| "Type assertion" | Actually annotation | Confirm |
| "Memory leak" | Cleanup exists | Check effect returns |
| "Wrong syntax" | New framework version | Verify against current docs |
| "Style issue" | Preference not rule | Both approaches valid |
| 模式 | 根本原因 | 预防措施 |
|---|---|---|
| "未使用变量" | 变量在其他地方被使用 | 搜索所有引用 |
| "缺失验证" | 框架已自动验证 | 检查Pydantic/Zod等工具 |
| "类型断言" | 实际是类型注解 | 确认使用 |
| "内存泄漏" | 已存在清理逻辑 | 检查effect返回值 |
| "语法错误" | 框架版本更新 | 对照当前版本文档验证 |
| "风格问题" | 只是偏好而非规则 | 两种写法均有效 |
review-skill-improverreview-skill-improver| Pattern | Skill Improvement |
|---|---|
| "linter passes" rejections | Add linter verification step before flagging style issues |
| "docs support this" rejections | Add exception for documented framework patterns |
| "intentional" rejections | Add codebase context check before flagging |
| "wrong code path" rejections | Add code tracing step before claiming gaps |
| 模式 | 技能改进方向 |
|---|---|
| "代码检查工具通过"类拒绝 | 在标记风格问题之前,添加代码检查工具验证步骤 |
| "文档支持该写法"类拒绝 | 为框架文档明确支持的模式添加例外 |
| "有意设计"类拒绝 | 在标记前添加代码库上下文检查 |
| "代码路径错误"类拒绝 | 在声称存在漏洞之前,添加代码跟踪步骤 |