Files
X-Financial/document/development/2026-07-17/dev-logs/bugs/commercial-lookup-session-sqlite-rollback.md
caoxiaozhu 787bc3a481 feat(platform): close AI expense value loop
Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
2026-07-17 14:14:08 +08:00

1.7 KiB
Raw Blame History

修复记录

  • 13:25记录 bug 修复:未配置商业计量器时独立 SQLite Session 回滚调用方事务。
    • Git 提交检查:执行 git fetch --all --prune 后,HEAD..origin/main 无新提交;本地 main ahead 17 个既有提交,依次为 242d68c3 审批任务与豁免、28b834ed 审批幂等响应、4940ebc4 风险处置、ee88a36b 分层费用学习、6bdf65bc 权威预审、ae3f02c3 票据零入口归集、54754b55 个人申请记忆、211f85d9 申请流程统一、5b246307 预览决策、a662cfe6 反馈账本、5ed34c2b 历史费用 Case 回填、11275e4b migration ownership、1347366b 时间线与草稿事件、22669a90 费用时间线、a616b30c AI 申请提交事务、653eda05 bearer session、661990b2 费用 Case 事务事件;这些提交均早于本轮且未改写。
    • 修改:commercial_direct_operation.py 增加调用方 lookup_session 的只读未配置短路OCR、RuntimeChat、金融连接器和附件 observer 均显式传入当前 Session。这样没有计量器时不再创建第二个 Session也不会在 SQLite StaticPool 共用连接上意外 rollback 已 flush 的费用明细。
    • 操作:先用附件归集回归复现 expense_claim_items expected to update 1 row; 0 were matched,再将未配置判断前移到调用方 Session保留真正配置计量器时的独立事务预占与结算。
    • 验证:容器内附件归集与票据夹 31 passed;商业资源边界 9 passed;报销端点与连接器组合 38 passed;相关 Ruff 通过。
    • 影响:未启用商业计量的开发、测试和兼容租户不再因为商业探测破坏调用方事务;生产 PostgreSQL 的独立商业事务语义保持不变。