人工智能AI AgentAgent记忆MCP服务【免费下载链接】engramPersistent memory system for AI coding agents. Agent-agnostic Go binary with SQLite FTS5, MCP server, HTTP API, CLI, and TUI.项目地址https://gitcode.com/gh_mirrors/engra/engram点击查看免费下载本篇技术指南讲解 Engram 仓库内置的深度技术审查技能skills/pr-review-deep/SKILL.md——一套面向任何外部或内部贡献合流前的标准化审查协议。它规定了审查触发的时机、五步审查流程读完整 diff → 本地跑测试 → 验证 API/契约与迁移安全 → 核对文档与实现 → 检查提交卫生以及决定 merge 还是 request changes 的 Merge Gate 判定标准。读完本文你将掌握在 Engram 的多包仓库store / server / cloud / dashboard / plugin中执行一次可辩护、可追溯、能落地为可操作修改意见的 PR 审查的完整方法并理解该协议如何与仓库的自动化门禁CI、lint 棘轮、dead-code 棘轮、性能棘轮、Transient Artifact Policy配合运转。何时启用本技能触发条件按技能文档的 frontmatterengram-pr-review-deep的 Trigger 是「Reviewing any external or internal contribution before merge」——任何外部或内部贡献在合并之前。具体到使用场景技能文档明确了三类典型情况Evaluating PRs from contributors评估来自贡献者的 PRReviewing risky refactors审查有风险的重构Deciding merge vs request-changes在合并与请求修改之间做决策。该技能在仓库的技能索引AGENTS.md中被列为engram-pr-review-deep与engram-branch-prPR 创建流程、engram-commit-hygiene提交卫生、engram-docs-alignment文档对齐、engram-testing-coverage测试与覆盖率等技能共同构成贡献与审查闭环。审查者通常在 reviewer 角色下同时加载本技能与 审查相关的维护者视角文档后者提供了面向审查与规划的主维护者清单。五步审查流程把审从印象变成证据技能文档给出核心 Review Protocol原文为五步下面逐条展开并结合仓库证据说明每一步如何落地。1. 读完整 diff而不是只看 summary第一条要求审查者阅读git diff的完整内容包括被修改、新增、复制、重命名路径的目的地而非依赖 PR 标题或摘要。这条规则在仓库里有两层含义scope 一致性CONTRIBUTING.md明确要求 Keep PR scope focused — one logical change per PR。读完完整 diff 才能判断一个 PR 是否夹带了无关改动如依赖升级混入功能提交。Transient Artifact Policy 的全量检查维护者 playbook 强调 Inspect the complete changed-file set, including added, modified, copied, and renamed destinations并逐一对照 CONTRIBUTING.md 的违禁清单——例如仓库根的plan.md、agent-handoff.md、*.db文件、**/.idea/**、**/*.exe等。部分缩写的清单不足以完成审查必须以策略原文为准。这条政策由 PR 验证 job 自动执行Check PR Has No Transient Artifacts但人工读 diff 仍是第一道关。2. 本地运行相关测试验证是候选方的证据技能文档要求 Run relevant tests locally。这与仓库的「验证所有权」原则一脉相承——skills/testing-coverage/SKILL.md的表述非常精确Verification is evidence about the candidate; CI is the automated execution venue, not a substitute for local focused evidence.翻译成审查动作就是本地只跑聚焦的、相关的测试不重复 CI 的广谱套件。具体命令模式见skills/branch-pr/SKILL.md与CONTRIBUTING.md# 行为变更先跑聚焦回归测试再跑受影响包的全量测试 go test ./internal/store -run 回归测试名 go test ./internal/store # 全量单元测试CI 负责本地按需 go test ./...边界要点聚焦回归 受影响包是行为变更 PR 的必做项docs-only 变更记录N/A — documentation-only; no Go behavior changed即可当改动横跨包边界例如触及 store 与 server应在两侧各找对应测试因为 playbook 明确指出 Expensive bugs appear between packages, not in isolated helpers当 PR 尚未推送、或风险等级高时审查者应额外运行适用的本地检查并把跑不了的检查如实报告为缺失证据而不是声称 CI 已覆盖。3. 验证 API / 契约与迁移安全这是技术审查中最容易放行 bug 的环节技能文档要求 Validate API/contracts and migration safety。API 契约验证Engram 的 HTTP API 在 内部 server 包 实现E2E 测试集中在internal/server/server_e2e_test.go以//go:build e2e标记。契约审查的典型关注点以internal/server/prompt_capture_decision.go为例请求体字段非空校验source必须是claude-code、cwd非空、content为字符串用decoder.DisallowUnknownFields()拒绝未知字段且解码尾部必须io.EOF才算合法 JSON响应中的错误码与 JSON 结构确定性jsonError/jsonResponse的稳定形状。迁移安全store 层 schema 变更必须被既有或新增测试覆盖维护者 playbook 的 local store 变更清单明确要求 Migration/schema is covered by existing or new tests同时若公开语义变化需同步更新DOCS.md#database-schema。仓库中internal/store下存在大量迁移与 DDL 测试如store_migration_test.go、store_legacy_ddl_test.go可作为审查对照每个 schema 版本改动都应有对应的迁移测试。4. 文档与实现逐项核对技能文档要求 Check docs against implementation这一条对应skills/docs-alignment/SKILL.md的四个规则文档描述当前行为而非预期行为代码变更与文档更新必须同一 PR发布前验证示例移除对废弃文件/端点/脚本的引用。审查时的核对项来自 docs-alignment 的 Verification checklist端点名称与 server 路由一致脚本名称与仓库路径一致命令示例确实能按文档执行跨 Agent 的说明仍然准确。维护者 playbook 进一步要求If you change an endpoint, command, or setup, update docs in the same change且不重复DOCS.md之外的完整 API 引用。5. 标记提交卫生违规技能文档要求 Flag commit hygiene violations。Engram 的提交卫生由 GitHub ruleset 强制执行推送即拒绝审查者需要核对skills/commit-hygiene/SKILL.md中的规则提交信息必须匹配 Conventional Commits 正则^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([a-z0-9\._-]\))?!?: .分支名必须匹配^(feat|fix|chore|docs|style|refactor|perf|test|build|ci|revert)\/[a-z0-9._-]$严禁Co-Authored-Bytrailer一个提交只做一件逻辑变更描述用祈使语气add 而非 added变更路径不得触碰 Transient Artifact Policy 禁止项。常见违规样例推送即被拒Fix bug无 type 前缀、feat: Add login描述应小写、FEAT(cli): add flagtype 必须小写、feat (cli): add flagscope 前不能有空格。Merge Gate什么条件下允许合并技能文档给出明确的合流判定条件——Merge only whenchecks are green自动化检查全绿详见下文自动化门禁一节risk is understood风险已被理解并确认blockers are resolved阻塞项已解决scope is coherent变更范围自洽一个 PR 一个逻辑变更。Otherwise request changes with actionable items——否则请求修改且必须给出可操作的修改项而非笼统的请改进。这与skills/branch-pr/SKILL.md中PR 六项必需检查全过才能合并的门禁互为表里审查者给出的 request-changes 意见应能映射到具体文件、具体行、具体命令或具体规则。与自动化门禁的配合审查者眼里的 checks are greenchecks are green 在 Engram 不是一句空话它由一套分层自动化构成详见CONTRIBUTING.md检查验证内容Check Issue ReferencePR body 包含Closes #N/Fixes #N/Resolves #NCheck Issue Has status:approved关联 issue 必须带status:approved标签Check PR Has type:* LabelPR 恰好一个type:*标签Unit Testsgo test ./...排除//go:build e2e并跑make deadcode-checkE2E Testsgo test -tags e2e ./internal/server/...Plugin TestsPi 插件测试套件干净 checkout 下npm test合并前六个上下文必须全部通过。此外还有三类「棘轮」机制值得审查者留意因为它们直接影响 risk is understood 的判断Lint 棘轮CI 使用 golangci-lint v2.13.2errcheck、staticcheck、unused只报告PR 新引入的发现本地执行需精确版本见Makefile的make lint。Dead-code 棘轮make deadcode-check用golang.org/x/tools/cmd/deadcodev0.30.0对比.deadcode-baseline.txt新增不可达函数即失败make deadcode-baseline仅在有意接受权衡时刷新基线禁止为容纳新债而更新。性能棘轮make perf-check对比 store 搜索/扫描基准与已审查基线CI 在 main 推送时以同一 runner 对比前一个 SHA 的基准捕获统计显著的回退但不把耗时当单测断言。基线记录产生它的 OS/架构/CPU只在匹配主机上可比。审查者应如实报告PR CI 未运行前不得声称其已通过lint、Windows 相关检查等非必需上下文也要按实际结果报告。审查辅助工具与命令Doctor 诊断engram doctor是审查者确认候选变更没有破坏本地存储健康的辅助手段支持--json、--project name、--check name参数并有repair、discard-empty-prompt子命令见cmd/engram/doctor.go。完整说明见docs/DOCTOR.md。Conflicts 冲突面对涉及记忆冲突语义的变更可运行cmd/engram/conflicts.go的list/show/stats/scan/deferred子命令确认关系判定行为未被破坏。所有权速查playbook 的 quick ownership decision 可帮助审查者判断这个改动应该落在哪个包进而决定找哪里的测试与文档Does the change affect stored data? store/cloudstore Does it affect HTTP input/output? server/cloudserver Does it affect browser experience? dashboard Does it affect background replication? autosync Does it affect remote transport? remote/cloudserver Does it affect a specific agent or host? plugin/setup Does it affect human commands? cmd/engram docs警告信号Warning Signs审查中如果看到下列模式大概率需要 request changes来源docs/codebase/maintainer-playbook.md代码异味可能的问题期望的修正dashboard handler 里写 SQL关注点混杂查询移到cloudstore只改变 HTML 的 admin 开关假控件持久化状态并在 server 端强制插件实现去重/同步策略适配层过厚移到 Go 核心本地功能依赖云破坏 local-first先本地设计云在之后新端点无文档无测试隐形契约补测试并更新DOCS.md带隐藏耦合的通用 helper局部小聪明把行为放到显式属主同时从源码结构看仓库的边界导向skills/architecture-guardrails/SKILL.md与审查直接相关本地 SQLite 是事实来源source of truth云是复制与共享访问org 级策略必须 server 端强制而非仅存在于 UI同步契约变更需同时覆盖 push 与 pull 路径。审查者应在这些边界上重点取样测试证据。审查清单把协议折叠成动作把技能文档的协议折叠成一份可直接对照的审查清单阅读完整 diff含新增/修改/复制/重命名目的地确认 scope 一致对照 Transient Artifact Policy 全量核对变更文件集行为变更本地跑聚焦回归 受影响包测试记录实际命令与结果验证 API 契约字段校验、错误码、JSON 确定性与迁移安全文档与实现逐项核对端点名、脚本名、命令示例、跨 Agent 说明检查提交卫生Conventional Commits、分支命名、无Co-Authored-By、单逻辑提交判断 Merge Gate 四项checks green / risk understood / blockers resolved / scope coherent不满足则输出可操作的request-changes 项逐条对应文件、行、命令或规则这套协议的价值在于它把审 PR从个人经验变成了可复现、可传递、有证据支撑的工程流程——每个放行或打回的决定都能在 diff、测试输出、文档和门禁配置中找到落点。赞分享人工智能AI AgentAgent记忆MCP服务【免费下载链接】engramPersistent memory system for AI coding agents. Agent-agnostic Go binary with SQLite FTS5, MCP server, HTTP API, CLI, and TUI.项目地址https://gitcode.com/gh_mirrors/engra/engram点击查看免费下载相关推荐Umi-OCR 离线识别入门5 步搞定截图 OCR、批量图片与 PDF 文字提取Umi OCR 离线识别入门5 步搞定截图 OCR、批量图片与 PDF 文字提取 Umi OCR 是一款免费、开源的离线 OCR 软件截图取字、批量图片识别OCR桌面应用NOFX 维护者 PR 审查指南从分流到合并的开源协作实践NOFX 维护者 PR 审查指南从分流到合并的开源协作实践 本指南面向 NOFX 项目的维护者与核心贡献者系统梳理 Pull Request 从接收、分流、AI Agent金融科技后端前端Slang 编译器仓库的 AI PR 审查协议从 Diff 校验、多审查员并发调度到编辑级过滤的完整流水线Slang 编译器仓库的 AI PR 审查协议从 Diff 校验、多审查员并发调度到编辑级过滤的完整流水线 Slangshader slang/slang编译器图形学编程语言上一篇告别浏览器标签混乱如何用Meru打造你的专属Gmail桌面客户端下一篇5分钟终极指南如何用Wand-Enhancer免费解锁WeMod完整功能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考