Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
3.5 KiB
3.5 KiB
修复记录
- 18:11:记录 bug 修复:接受住宿职级标准调整时不再信任客户端金额、天数或金额快照。
- Git 提交检查:已执行
git fetch --all --prune;HEAD..origin/main未发现 upstream 新提交;本地相对 upstream ahead 17 个既有提交,依次为242d68c3 feat(approval): add task workflow and waiver decisions、28b834ed fix(approval): replay immutable action responses、4940ebc4 feat(approval): add safe risk disposition workflow、ee88a36b feat(ai): add tenant-safe hierarchical expense learning、6bdf65bc feat(expenses): add authoritative pre-review workflow、ae3f02c3 feat(expense): add persistent zero-entry receipt association、54754b55 feat(ai): add personal expense application memory、211f85d9 feat(ai): unify verified expense application workflow、5b246307 feat(ai): issue verified application preview decisions、a662cfe6 feat(ai): add expense application feedback ledger、5ed34c2b feat(expenses): backfill historical claims into expense cases、11275e4b fix(migrations): enforce schema ownership safety、1347366b feat(expenses): secure timeline and draft events、22669a90 feat(expenses): show unified expense event timeline、a616b30c fix(expenses): unify AI application submission transaction、653eda05 feat(auth): add opaque bearer sessions、661990b2 feat(expenses): add transactional expense case events;这些提交均早于本次未提交修复,本次没有拉取、合并或覆盖共享工作树。 - 修改:
expense_claim_standard_adjustment.py只从已锁定的ExpenseClaimItem.item_amount读取原始金额,只接受服务端差旅规则计算出的最终可报金额;客户端携带的application_days、original_amount、reimbursable_amount仅作为旧界面兼容展示字段,不参与计算。服务端快照新增规则名、规则版本(无发布版本时使用内容指纹)、地点、匹配城市、职级、职级档、天数、每日住宿标准、住宿标准总额及计算指纹。 - 修改:为标准调整增加 PostgreSQL advisory lock + Claim/Item 行锁和非 PostgreSQL 进程内串行锁;请求支持
request_id幂等键与expected_updated_at乐观前置条件。相同请求直接重放且不改created_at/计算快照,同请求号改选其他明细会被拒绝;单次调整只替换被选明细的快照,不再误删其他明细已接受的标准调整。 - 操作:在
local-x-financial-linux容器及/tmp/x-financial-server-venv中运行定向、接口全量和服务全量测试;运行 scoped Ruff 与git diff --check,未在宿主机运行 Python/pytest,也未修改规则表或其他用户文件。 - 验证:标准调整定向回归(含非 PostgreSQL 同租户同单据锁竞争)
9 passed;test_reimbursement_endpoints.py全量22 passed;Scoped Ruff 与git diff --check通过。test_expense_claim_service.py全量为112 passed, 8 failed,8 个失败均位于既有审批任务配置/旧错误文案断言(直属领导任务、费用申请提交、本人审批、重复退回),不经过标准调整实现;本次新增及关联标准调整用例全部通过。 - 影响:伪造低原金额、任意可报金额或超长住宿天数不能降低或抬高实际报销额;规则缺失时整次操作失败关闭且不改金额。审批人看到的原额、可报额和差额均可追溯到数据库明细与服务端规则证据,重复点击和并发请求不会重写金额证据。
- Git 提交检查:已执行