## 修复记录

- 13:15：修复本体参考目录、员工画像、Hermes 扫描/看板/提醒、财务报告和内部 Orchestrator 的跨租户读取与错误归属风险。
  - Git 提交检查：已执行 `git fetch --all --prune`、`git status -sb`、`git log HEAD..@{u}` 和 `git log @{u}..HEAD`；`origin/main` 无新增提交，本地 `main` ahead 17。ahead 摘要：`242d68c3/28b834ed/4940ebc4` 审批与风险处置，`ee88a36b/54754b55/211f85d9/5b246307/a662cfe6` AI 费用学习与申请流程，`6bdf65bc/ae3f02c3/5ed34c2b/1347366b/22669a90/a616b30c/661990b2` 费用预审、费用事件与时间线，`11275e4b` migration ownership，`653eda05` opaque bearer session；本轮未改写这些提交。
  - 修改：本体解析在模型前创建租户化 Agent Run，并对员工、组织、费用、应收、应付和项目目录首 SQL 过滤；员工画像新增租户字段、复合员工外键和本人/直属领导/财务/高管/管理员访问矩阵；Hermes 风险、画像、线索、提醒和看板逐租户运行；财务报告按企业配置收件人、内容、路径和幂等账本；内部 Orchestrator 缺失、停用、不存在或冲突租户时在建 Run 前拒绝。
  - 操作：新增 `20260717_0028` 迁移和租户财务报告配置/运行表；upgrade/downgrade 在任何 DDL 前拒绝非 PostgreSQL；完成 fresh、旧结构回填、回滚重升及复合外键 PostgreSQL 探针，验证后停止并自动清理一次性探针容器。
  - 验证：容器内新增安全/提醒测试 9 项、旧本体与 Orchestrator 88 项、Hermes/看板/财务报告 8 项、画像/鉴权/关联草稿 25 项通过；Alembic 静态回归 61 项通过、1 项因未提供外部 PostgreSQL DSN 跳过；相关文件 Ruff check/format check 和 `git diff --check` 通过。
  - 影响：企业 A 的模型提示词、员工画像、风险扫描、提醒、看板、报告附件和邮件收件人不再包含企业 B 数据；无可信租户的内部任务不能生成不可归属记录；历史无双租户快照的 Run 不会被企业看板错误统计。
