精选源码 · 已公开发布
AgentLens
Review Kit.
一个足够小、能够读懂并运行的审查生命周期模块。提案、人工决定、执行与评价,分别留下记录。
TypeScript · Node.js 20+ · MIT · github.com/a1989524/agentlens-review-kit
运行规则,可以亲自核对
跟随一条决定的去向。
允许试运行,执行完成,评价确认
- 记录提案
提案等待审查。此时没有批准,也没有执行。
查看记录
{ "kind": "review_proposal", "id": "proposal-approved", "at": "2026-09-18T09:00:00.000Z", "candidate_ref": "workflow:creative-review", "version": 1, "reason": "Try an explicit confirmation step before applying a suggested edit.", "status": "review_pending", "content_hash": "sha256:8a5600e85cbbf20e8eb9eff296d22b1b67745864b5a81317e28d8b31f01e4a08" } - 独立的人工决定
审查者允许有限试运行,这不等于结果成功。
查看记录
{ "kind": "review_decision", "id": "decision-approved", "at": "2026-09-18T09:01:00.000Z", "proposal_ref": "proposal-approved", "proposal_hash": "sha256:8a5600e85cbbf20e8eb9eff296d22b1b67745864b5a81317e28d8b31f01e4a08", "candidate_ref": "workflow:creative-review", "candidate_version": 1, "decided_by": "local_user", "status": "authorized_for_trial", "content_hash": "sha256:407589f684e2d6b36ab8902fd4f1ba374ee9ba302632138877515d2a4773c876" } - 执行拥有独立结果
执行记录说明操作已完成,不代表产品质量得到确认。
查看记录
{ "kind": "execution_receipt", "id": "execution-approved", "at": "2026-09-18T09:02:00.000Z", "decision_ref": "decision-approved", "decision_hash": "sha256:407589f684e2d6b36ab8902fd4f1ba374ee9ba302632138877515d2a4773c876", "candidate_ref": "workflow:creative-review", "status": "executed", "change_ref": "change:synthetic-example", "content_hash": "sha256:82112bcb808f320146ebfbba53365228857e1dcaf6b122a9094198df63ca3398" } - 评价证据
示例中提供的信号满足确认规则。
查看记录
{ "kind": "evaluation_result", "id": "evaluation-approved", "at": "2026-09-18T09:03:00.000Z", "execution_ref": "execution-approved", "execution_hash": "sha256:82112bcb808f320146ebfbba53365228857e1dcaf6b122a9094198df63ca3398", "candidate_ref": "workflow:creative-review", "status": "confirmed", "evidence_complete": true, "checks_passed": true, "regression_found": false, "content_hash": "sha256:3dca0e1c4d5a60b59cfd8957db0b9f7116de484cce6cc2dcc225ef7c87b99a2a" }
拒绝提案,阻止执行
- 记录提案
提案等待审查。此时没有批准,也没有执行。
查看记录
{ "kind": "review_proposal", "id": "proposal-rejected", "at": "2026-09-18T09:00:00.000Z", "candidate_ref": "workflow:creative-review", "version": 1, "reason": "Try an explicit confirmation step before applying a suggested edit.", "status": "review_pending", "content_hash": "sha256:54ff9008680878490a48a635b6e41faa28bd575e8310dae32475a79f8d7156a6" } - 独立的人工决定
审查者拒绝本次试运行。
查看记录
{ "kind": "review_decision", "id": "decision-rejected", "at": "2026-09-18T09:01:00.000Z", "proposal_ref": "proposal-rejected", "proposal_hash": "sha256:54ff9008680878490a48a635b6e41faa28bd575e8310dae32475a79f8d7156a6", "candidate_ref": "workflow:creative-review", "candidate_version": 1, "decided_by": "local_user", "status": "rejected", "content_hash": "sha256:233b373c1becf6683b02a2844cb66ec85996433758a6e3e8565b0715bd1498be" } - 执行被阻止
模块拒绝根据已拒绝的决定创建执行记录。
查看记录
{ "kind": "blocked_attempt", "code": "TRIAL_NOT_AUTHORIZED" }
执行失败,如实保留
- 记录提案
提案等待审查。此时没有批准,也没有执行。
查看记录
{ "kind": "review_proposal", "id": "proposal-failed", "at": "2026-09-18T09:00:00.000Z", "candidate_ref": "workflow:creative-review", "version": 1, "reason": "Try an explicit confirmation step before applying a suggested edit.", "status": "review_pending", "content_hash": "sha256:adfe434a3da6c2f4488c5d95bba4e257428dae647d493ba75cb0a392f8589652" } - 独立的人工决定
审查者允许有限试运行,这不等于结果成功。
查看记录
{ "kind": "review_decision", "id": "decision-failed", "at": "2026-09-18T09:01:00.000Z", "proposal_ref": "proposal-failed", "proposal_hash": "sha256:adfe434a3da6c2f4488c5d95bba4e257428dae647d493ba75cb0a392f8589652", "candidate_ref": "workflow:creative-review", "candidate_version": 1, "decided_by": "local_user", "status": "authorized_for_trial", "content_hash": "sha256:0c13d6cc93cb0c35efa0d5119863c1ebda2f60343018788473c5a33f7a581967" } - 执行拥有独立结果
如实保留执行失败,不改写之前的决定。
查看记录
{ "kind": "execution_receipt", "id": "execution-failed", "at": "2026-09-18T09:02:00.000Z", "decision_ref": "decision-failed", "decision_hash": "sha256:0c13d6cc93cb0c35efa0d5119863c1ebda2f60343018788473c5a33f7a581967", "candidate_ref": "workflow:creative-review", "status": "execution_failed", "change_ref": "change:synthetic-example", "content_hash": "sha256:938dd4a03c4c16e257a65842ff16fb416fe7bb0acd00ee9be6f1e3ca8399d4d4" } - 评价证据
现有证据不足以确认,评价保留为不确定。
查看记录
{ "kind": "evaluation_result", "id": "evaluation-failed", "at": "2026-09-18T09:03:00.000Z", "execution_ref": "execution-failed", "execution_hash": "sha256:938dd4a03c4c16e257a65842ff16fb416fe7bb0acd00ee9be6f1e3ca8399d4d4", "candidate_ref": "workflow:creative-review", "status": "inconclusive", "evidence_complete": false, "checks_passed": false, "regression_found": false, "content_hash": "sha256:aea45a6dc7e34ad691ee50c80ca498b0640115cf698cd92acaa0dacd1f246304" }
执行完成,证据仍然不足
- 记录提案
提案等待审查。此时没有批准,也没有执行。
查看记录
{ "kind": "review_proposal", "id": "proposal-uncertain", "at": "2026-09-18T09:00:00.000Z", "candidate_ref": "workflow:creative-review", "version": 1, "reason": "Try an explicit confirmation step before applying a suggested edit.", "status": "review_pending", "content_hash": "sha256:75498a88e2cbf7aaf63c75a94a7c851008af57bfd275df673b7716fb09f5d5f1" } - 独立的人工决定
审查者允许有限试运行,这不等于结果成功。
查看记录
{ "kind": "review_decision", "id": "decision-uncertain", "at": "2026-09-18T09:01:00.000Z", "proposal_ref": "proposal-uncertain", "proposal_hash": "sha256:75498a88e2cbf7aaf63c75a94a7c851008af57bfd275df673b7716fb09f5d5f1", "candidate_ref": "workflow:creative-review", "candidate_version": 1, "decided_by": "local_user", "status": "authorized_for_trial", "content_hash": "sha256:a8f062759c7be8a3528c0bffc04c193c094822440a1fd3ed7067eb5c70400476" } - 执行拥有独立结果
执行记录说明操作已完成,不代表产品质量得到确认。
查看记录
{ "kind": "execution_receipt", "id": "execution-uncertain", "at": "2026-09-18T09:02:00.000Z", "decision_ref": "decision-uncertain", "decision_hash": "sha256:a8f062759c7be8a3528c0bffc04c193c094822440a1fd3ed7067eb5c70400476", "candidate_ref": "workflow:creative-review", "status": "executed", "change_ref": "change:synthetic-example", "content_hash": "sha256:6ef722d4e4726a926bf28b875dbaf78e79109ea0ca187813ec280a0a5c09bb78" } - 评价证据
现有证据不足以确认,评价保留为不确定。
查看记录
{ "kind": "evaluation_result", "id": "evaluation-uncertain", "at": "2026-09-18T09:03:00.000Z", "execution_ref": "execution-uncertain", "execution_hash": "sha256:6ef722d4e4726a926bf28b875dbaf78e79109ea0ca187813ec280a0a5c09bb78", "candidate_ref": "workflow:creative-review", "status": "inconclusive", "evidence_complete": false, "checks_passed": false, "regression_found": false, "content_hash": "sha256:9b2f342354b9ff6922be283e176161e371e81726506eb5611ee443beecfee2e2" }
从记录中看见边界
模块从较大的本地工作台中提取审查概念,整理成独立实现。它不访问私人账本,也不调用模型。它包含内部工作台 62 条确定性测试中的 14 条。模块函数生成四组回放:允许并通过、拒绝后阻止执行、执行失败,以及执行完成但证据不足。
在本机运行
安装 Node.js 20 或更新版本,解压源码包或克隆仓库并进入目录。运行过程不需要额外依赖。
node --test tests/*.test.mjs
node examples/run.mjs
node scripts/export-scenarios.mjs scenarios.json公开接口
| 记录 | 职责 |
|---|---|
| ReviewProposal | 说明候选与修改原因 |
| ReviewDecision | 允许试运行、拒绝或延期 |
| ExecutionReceipt | 记录允许之后的执行结果 |
| EvaluationResult | 区分确认、回归与不确定 |
有意保持的限制
角色字段无法认证身份,内容哈希无法充当数字签名。模块不提供持久化、并发事务、防重放或真实权限控制。评价输入来自调用方判断,模块不会自动运行模型评测。reverted 记录评价结论,不能自行回滚外部系统。
README、运行时检查和测试均明确说明这些边界。本模块已开源于 GitHub,并提供离线归档包供本地审阅。