用途:作为 L3 Worker 审计数据库事务正确性(高优先级),检查提交模式、事务边界、回滚处理及触发器/通知语义,并将结构化发现写入报告,同时计算事务正确性类别的合规评分(X/10)。
主要能力(6 项检查):
- 缺失中间提交:当数据库触发器或 NOTIFY 依赖提交时,循环内多次 UPDATE 未中间提交,导致实时通知延迟;严重级别 CRITICAL/HIGH,特定例外可降级。
- 事务范围过宽:单一事务包裹无关操作或慢速外部调用、文件 I/O;HIGH/MEDIUM,建议拆分事务或使用 Saga/Outbox。
- 事务范围过窄:逻辑上原子的操作被拆成多次提交(如父子实体分别提交);HIGH/MEDIUM,建议用 async with session.begin() 或工作单元模式包裹。
- 缺失回滚处理:commit() 未在 try/except 或上下文管理器中,且异常分支无 rollback;MEDIUM/LOW。
- 长期持有事务:begin() 与 commit() 间距超 50 行、含外部 await 或 sleep;HIGH/MEDIUM,建议缩短事务窗口。
- 事件通道名一致性:比对发布者与订阅者通道名,检测近似不匹配(编辑距离≤2 或子串)、孤儿发布者/订阅者;CRITICAL/HIGH/MEDIUM,建议统一常量。
使用方式:接收 contextStore(tech_stack、best_practices、db_config、codebase_root、output_dir),解析后确定 scan_path,先从迁移文件发现触发器/NOTIFY 基础设施,再扫描代码违规,收集带严重级别、位置、工作量、建议的发现,按惩罚算法评分,并按模板将报告写入 {output_dir}/ln-652--global.md(单次 Write),同时返回摘要。默认优先使用 hex-line MCP 读取/搜索/编辑,若不可用则回退内置 Read/Grep/Glob/Bash 并在报告中说明;需要时先使用 hex-graph 分析引用链或调用路径。加载 references/audit_worker_core_contract.md、references/mcp_tool_preferences.md、references/audit_scoring.md 与报告模板等参考文件。
适用场景:审计包含 PostgreSQL NOTIFY/触发器、ORM 会话、事件通道的代码库事务正确性,尤其关注实时进度追踪、外部调用与一致性风险。
限制:仅报告不自动修复;排除测试事务;需 ORM 感知(async with session.begin() 自动回滚视为安全);不同数据库语义有别;MCP 不可用需回退并说明;报告路径与摘要契约依赖运行模式(托管/独立)。