Skip to content

v1.5.3 — 🔍 审计模块 · 规则引擎统一与自测

Choose a tag to compare

@KongFangXun KongFangXun released this 26 Sep 21:48
· 1379 commits to main since this release

🔍 规则引擎收敛与自检——两处规则引擎(tool-level 3 条 + git-diff 24 条)合并为单一引擎(一套定义、两种触发),并给规则装上自测:每条强制携带 match / notMatch 正负样例,装载断言 fail-closed,规则写错立刻爆。同版再落五件:A24 首个新规则(24→25)、判决记录成对扫描、审计范围一等公民化、doctor 修复闭环、ARCHITECTURE 三域重构。

TL;DR (EN): Rule engines converge and self-check — the two rule engines (3 tool-level + 24 git-diff) merge into a single engine (one definition, two trigger points), and every rule must carry match / notMatch examples, asserted fail-closed at load time (a wrong rule blows up immediately, no relying on memory). Also landing: the first new rule born with examples (24→25), paired-record completeness scanning, audit scope as a first-class object, a doctor repair loop (backup → reset → diff), and an ARCHITECTURE three-domain restructure. MCP tools 107→103 · 5408 tests · MIT.

⚡ Install / Upgrade

# 新装(五形态任选:FDE 插件 / Skill / MCP / CLI / GitHub Action)
curl -fsSL https://raw.githubusercontent.com/KongFangXun/sofagent/refs/tags/v1.5.3/install.sh | bash

# 已装用户升级到本版
npx @sofagent/audit@v1.5.3 --doctor

🔨 核心变更

🔧 双规则引擎统一(一套定义 · 两种触发时机)

  • tool-level 3 条 + git-diff 24 条合并为单一引擎,模式 / 类型 / 常量层同源——engine/core/src/shared/rule-* 单一事实源,双引擎各自 import,消除「同一规则两处定义」
  • 回归锁快照在位(docs/evidence/v1.5.3-rule-verdict-snapshot.json),重构前后判定等价

🧪 审计规则自测 schema(规则写错立刻爆,不靠人记)

  • 每条规则强制携带 match / notMatch 正负样例,rule-loader.ts 装载断言 fail-closed(锚串被删 / 样例自相矛盾即拒载)
  • strictestVerdict 接进真实聚合路径 runner.aggregateExitCode——多规则命中取最严,接线前后 diff=0 锁定

🚧 A24 交付物落点规则(+1 条 · 出生即带正负样例)

  • 白名单 opt-in 事前拦截:交付物落点越界在写入前拦下;白名单前缀匹配段边界安全化(docs-evil 兄弟目录不再放行)
  • 规则 24 → 25 全站计数同步(含英文 / 连写三种形态)

🩺 doctor 修复闭环(refresh 三段)

  • 备份 → 一键重置到默认 → 前后 diff 报告——配置坏了不用手抠,可回看改了什么
  • 借此路径完成 @sofagent/skillopt 的 npm 弃用(36/36 版本标注迁移文案)与下架收尾(E404 实证)

📄 ARCHITECTURE 三域重构(叙事按层收束)

  • 按「FDE 场景层 → S1M 判定层 → harness 治理层」重组,八章物理重排零内容删改,五域 / 三域映射表落盘

🧾 判定与记录面地基两件

  • 判决类记录成对完整:只记单边即报红的机械扫描,补上「无记录」这一盲区;盲区腐化检测(staleness 断言)进门禁——盲区 kind 出现生产写入点即判红
  • AuditScope 一等公民化:规则从显式 AuditScope 对象取输入,规则实现面零 git 原语(静态扫描断言在测);重构前后快照逐字节 diff=0

🔒 BugFix(上版遗留)

  • 阶段三质量循环 16 视角审查 + 修复批收编:A24 判定档位两文档(SECURITY / audit README)WARN→FAIL 对齐代码实态;白名单段边界安全化配行为锁 1 例
  • doctor refresh 裸 flag slice(1) 丢参真 bug 修复;COST 盲区随写面落地按 trigger 转为正常家族登记
  • 浏览器四件套退役漏清收口:计数声称与映射表死条目清零,全仓计数联动 20 文件对齐

✅ 质量验证

检查项 结果
npm test 5408 tests 全绿 ✅
acceptance-test 459/459 passed · SKIP: 0 · EXIT: 0 ✅
shellcheck 零 error ✅
check-version 133/133 全绿 ✅
回归检查 85 维度 ✅
release-gate verdict=PASS ✅
fresh-eyes 16 视角审查闭环 ✅

⚠️ 破坏性变更

  • MCP 工具数 107 → 103:playwright_navigate / playwright_click / playwright_screenshot / playwright_assert 四件套退役(MCP registry 注销 + browser-tools 实现删除)——浏览器自动化请改用外部 MCP
  • 审计规则数 24 → 25:新增 A24 交付物落点规则(默认集仍 17 条,扩展集 7 → 8 条)
  • @sofagent/skillopt 弃用并下架(npm view 返回 E404):迁移至 @sofagent/evolve,CLI 二进制由 sofagent-skillopt 改为 sofagent-evolve(npm i -g @sofagent/evolve)

🔗 深入了解

想看什么 链接
全部变更明细 CHANGELOG
上手指南 HANDBOOK
有问题 / 晒场景 Discussions
npm 包 @sofagent/audit · 共 23 包(npm)

📖 详细开发日志