example: add skills-based code review agent - #252
Conversation
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #252 +/- ##
==========================================
Coverage ? 87.86456%
==========================================
Files ? 482
Lines ? 45157
Branches ? 0
==========================================
Hits ? 39677
Misses ? 5480
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@helloopenworld 求证下报错的原因 |
AI Code Review发现的问题🚨 Critical(未发现必须修复的阻塞性问题。manifest 中各脚本 sha256 与磁盘文件一致;governance/sandbox 的 fail-closed、路径穿越、shell 注入、网络白名单与三层脱敏链路在 diff 范围内自洽。)
|
AI Code Review很好——这证实了 cube 的治理(governance)总是被拒绝(已测试),并且 CLI 公开了 cube 但未连接 factory。所以 现在让我完成审查。让我写下最终的审查结果。 发现的问题🚨 Critical(无)
|
AI Code Review我现在已经有了全面且深入的了解。让我来整理一下审查意见。 发现的问题🚨 Critical未发现 Critical 级别问题。
|
AI Code Review我现在已经有了足够的验证结论。正在汇总审查结果。 发现的问题🚨 Critical
|
AI Code Review我已完成审查,正在整理最终结论。 发现的问题🚨 Critical未发现 Critical 问题。沙箱隔离、凭据脱敏、manifest 完整性校验(sha256 与实际文件一致)、路径穿越/符号链接防护、fail-closed 治理、原子写入和预算预检均经核对无明确缺陷。
|
|
recheck |
1 similar comment
|
recheck |
AI Code Review基于我对 PR diff 及相关上下文的全面审查,以下是我的代码审查结果。 发现的问题🚨 Critical
|
| assert "review_fixture 02_security_simple agent" not in operations | ||
|
|
||
|
|
||
| def test_release_docs_explicitly_mark_cube_as_unavailable() -> None: |
There was a problem hiding this comment.
cube 沙箱入口契约不一致
断言 OPERATIONS.md 包含 --sandbox cube --dry-run,但 run_agent.py 仍把 cube 列为合法选项,create_sandbox_runtime 在 cube_runtime_factory 为空时抛运行时错误而非 CLI 校验期拒绝,导致可触发的核心入口失败路径。建议在 argparse 层或 build_review_pipeline 早期显式拒绝 cube,或对齐文档与 CLI 契约。
da7eadc to
1886060
Compare
AI Code Review发现的问题🚨 Critical
|
AI Code Review该测试运行 这证实了不匹配的问题:在实际的沙箱容器执行中, 来自 这是一个真实的正确性问题。但是 —— 等等,它真的到达了 但是 —— 这是故意的吗?默认的沙箱是 因此在 然而,我应该谨慎:我不能百分之百确定 SDK 的 这是基于推理而非经过验证的。提示要求如果无法从 diff 中验证,则使用“可能/疑似”。这是一个合理的警告。让我将其标记为警告,并附带关于无法验证 SDK 运行时 实际上,更仔细地查看测试: 让我通过检查 我将报告此事作为警告(容器路径的输入路径不匹配),注明 SDK 让我再重新考虑一下:还有其他 让我最终完成报告。## 发现的问题 🚨 Critical未发现必须修复的阻塞问题。
|
概述
实现一个端到端、可验证的自动代码评审 Agent 原型,交付目录为:
输入支持 unified diff / PR patch、指定文件列表、Git 工作区变更和内置 fixture。系统通过
code-reviewSkill 加载受控规则脚本,经 Filter 前置治理后在 SDK workspace sandbox 中执行检查;随后将问题按严重级别、文件、行号、证据和修复建议结构化输出,并把任务、Filter 决策、沙箱运行、finding、报告与指标写入 SQLite。核心取舍是“确定性规则负责检出,LLM 仅做受限文本增强”:
架构
Agent 入口实际复用 SDK
LlmAgent + SkillToolSet:CLI、Agent、dry-run 和测试共用同一个
ReviewPipeline,不复制规则或报告逻辑。核心能力
--diff-file、--repo-path、--files、--fixture,互斥校验。cr_review_task、cr_sandbox_run、cr_filter_event、cr_finding、cr_report;支持按 task id 查询完整 bundle。验收对照(issue #92)
使用方法
Windows PowerShell:
Linux/macOS Bash:
真实 Agent + Skill 路径:
真实模型模式需要在
examples/skills_code_review_agent/.env配置:验证命令
可选集成:
文件结构
Windows host → Linux Container 的 SDK 路径兼容修复由 #251 单独处理,避免混入本示例 PR。
Closes #92