# 第 13 轮工作计划(轻量合并版):审计合规导出与保留脱敏 更新日期:2026-08-01 ## 1. 本轮目标 新增审计合规导出:`GET /api/gov/audit/export?format=json|csv` 导出当前作用域全部审计事件(含链校验与锚定状态摘要),导出时对敏感字段(token/password/secret/key/authorization 等)脱敏;黄金测试证明导出完整、脱敏生效、格式可解析;矩阵 104 行剩余项(保留脱敏、合规导出)落地。 ## 2. 背景和当前状态 - 当前已完成:世界内 SHA-256 链(audit.py)、独立介质锚定(audit_ledger.py)、事件镜像(audit_mirror.py)、`/api/gov/audit` 展示链/锚定/镜像状态。 - 当前缺口:无导出端点;无保留脱敏(导出可能含 confirmId、用户信息等敏感字段)。 - 本轮为什么现在做:矩阵 104 行剩余「保留脱敏、合规导出」;纯本地、低风险。 - Workspace preflight:第 12 轮收口(479 passed);服务 8003/5173 正常;共享脏工作区、无提交。 - 方向分析:Q1 推荐(审计合规导出/脱敏),目标续跑轮授权执行。 ## 3. 本轮工作方向 ```text audit 事件仅内页展示,无导出/脱敏 -> audit_export.py:sanitize_event(敏感键脱敏)+ export_events(events, fmt=json|csv) -> GET /api/gov/audit/export?format=...(含 chain/anchor 摘要) -> 黄金测试:导出完整、脱敏生效、json/csv 可解析 -> 矩阵 104 行注记;CHANGELOG ``` ## 4. 已确认决策 任务重量: - 档位:轻型(audit_export 模块 + 网关端点 + 黄金测试)。 - 规模依据:新增独立模块与端点,不改既有审计写入;风险 LOW。 - 选择原因:矩阵 104 行明确剩余项之一;合规导出是审计闭环的收尾能力。 P0/P1 决策(按 Q1 推荐采纳): - 决策 1(P0):本轮切片 = 审计合规导出与保留脱敏。 - 决策 2(P1):不新建分支、不提交、不推送。 - 决策 3(P1):验证深度 = 聚焦导出/脱敏测试 + 全量黄金回归。 默认假设: - 假设 1:脱敏规则覆盖键名含 token/password/secret/key/authorization/credential 的值 → 替换为 `***REDACTED***`;嵌套 dict/list 递归。 - 假设 2:导出格式 json(列表)/ csv(表头 + 行),均含 `exportedAt` 与 `chainOk` 摘要元信息。 - 假设 3:导出仅当前作用域(复用 gov_audit 的 mirror-first 事件源),不含跨租户数据。 未决但不阻塞:WORM 物理介质、完整 Merkle 树、异常告警(后续轮)。 ## 5. 范围 In scope: - `server/agent_core/audit_export.py`(新):`sanitize_value`/`sanitize_event`(敏感键脱敏,递归)+ `export_events(events, fmt)`(json/csv)。 - `server/gateway/app.py`:`GET /api/gov/audit/export?format=json|csv`(复用 mirror-first 事件源 + chain/anchor 摘要)。 - `tests/golden/test_audit_export.py`(新):导出完整、脱敏生效(敏感键被掩码)、json/csv 可解析、非敏感值保留。 - 文档:`docs/architecture/harness.md`、`docs/product/plan-completion-matrix.md`(104 行注记)、`docs/CHANGELOG.md`。 Out of scope: - WORM 物理介质、完整 Merkle 树、异常告警、前端导出 UI。 - 提交/推送/合并/清理用户改动。 ## 6. 成功标准 - 聚焦:`python -m pytest -q tests/golden/test_audit_export.py -p no:cacheprovider` 通过(≥4 项)。 - 全量:`python -m pytest tests/golden -q -p no:cacheprovider`(固定 .venv)≥ 479。 - ruff 干净;git diff --check 无空白错误。 ## 7. 验证方式 - 脱敏单测(敏感键掩码、非敏感保留、嵌套递归);导出 json/csv 解析;全量回归。 ## 8. 关键风险 | 风险 | 影响 | 控制方式 | |---|---|---| | 脱敏规则误伤合法字段 | 导出信息缺失 | 只掩码敏感键名;测试锁定非敏感保留 | | 导出大事件集内存 | 性能 | 当前作用域事件量有限;分页留待后续 | | CSV 转义问题 | 解析失败 | csv 模块标准写入 | ## 9. 停止条件 - 全量黄金测试非本轮相关回归无法快速定位时暂停。 - 任何提交/推送/合并/清理操作停下等待授权。 ## 10. 本轮完成定义 - 实现、测试、文档完成;聚焦与全量通过;矩阵/CHANGELOG 回写;不提交。 - 收口:报告主要结论、关键洞察、需要特别留意的地方。 ## 11. 下一步 轻量合并版:主 agent 实现 + 验证 + 收口报告。