# 自检与联调报告 验证日期:2026-10-03。验证目录为工作区 `outputs/code`,源码、接口说明、初始化/迁移脚本、固定依赖及锁文件均已实际写入。 ## 实测结果 | 项目 | 结果与证据 | |---|---| | Python语法与导入 | compileall成功;应用可以导入并生成完整OpenAPI | | 运行依赖 | requirements及开发依赖安装成功;pip check报告No broken requirements found | | 后端集成/领域/协议 | **36 passed in 56.64s**;机器结果保存在test-results.xml | | 前端类型与构建 | vue-tsc --noEmit成功;Vite生产构建成功,全部业务页面生成独立路由分块 | | 前端会话回归 | npm test的5项断言通过:用户恢复、并发单次刷新、登录失败不递归、退出撤销轮换令牌、刷新失败终止 | | 数据库迁移 | 新隔离库通过scripts/migrate.py upgrade、init_db.py、current;版本0001_initial(head),22张业务表 | | 后端启动 | python main.py实际启动127.0.0.1:8000,健康接口数据库ok/消费者running | | 前端启动 | npm run dev实际启动127.0.0.1:5173;浏览器打开成功,开发代理调用真实后端 | | 文档/接口 | 52个HTTP方法、43条路径;请求字段从最终代码生成,含Bearer OpenAPI鉴权 | | 中文注释 | 手写Python、TS、Vue、CSS、初始化及关键配置包含中文注释;字段含义/约束在Model comment和Schema description | ## 测试覆盖 36个测试实例覆盖:金额非负/两位精度/NaN/上限,critical汇总与未知证据优先级,税额舍入,真实历史平均比值,登录刷新轮换和角色权限,上传SSE及部分失败保留,提交幂等,四节点真实图执行,缺字段转人工,SHA256重复转财务,gross含税总额核对,所有权和revision防覆盖,撤回任务取消,规则/政策/链版本冻结,退回重提与旧轮次防重签,自动审批合约替身与派单幂等,租约恢复,审批超时去重,缺链告警与配置恢复,核心配置保护,政策关键词及无向量明确拒绝语义模式,Excel/PDF/CSV真实导出,多节点审批与身份变化护栏,并发单号分配,PDF页数限制,VLM有界重试,迟到失败不覆盖撤回,跨部门保护、CORS与无效试算422。 真实HTTP协议使用MockTransport验证Authorization、JSON Schema消息、结构化解析、成功缓存、真实向量同模型回退和维度拒绝、三态熔断的单半开探测、模型列表鉴权。这些是服务合约测试,不能把替身输出称为真实模型效果。 ## 浏览器端实际闭环 使用明确标注测试用途的票据和申请,不把测试数据视为真实报销: 1. alice登录创建106.00元测试申请,上传PNG,页面收到实际SSE进度并保存发票ID。 2. 补录100.00未税金额与6.00税额后提交,详情显示四节点执行、来源降级、政策未完成、中风险/部分合规/转主管。 3. bob登录,看到指定待办,填写测试审批意见并签署通过;历史列表保存签署时间与依据。 4. 报销详情显示已通过及审批时间线;工作台合计106.00、已通过1笔。管理员页面显示五节点的真实执行统计。 5. 工作台“新建报销”入口实际打开创建弹窗,取消后可返回工作台;最终预览保存真实数据库聚合结果。 ![审核结果](screenshots/审核结果.jpg) ![审批闭环](screenshots/报销审批闭环.jpg) ## 已处理的环境问题 Windows受限环境中esbuild依赖预打包会扫描盘符根目录并被拒绝;前端使用Vite native配置加载、已发布的dayjs ESM文件和显式插件/locale别名。开发服务与生产构建均已运行验证。npm本机默认缓存目录无写权限时使用工作区缓存,无须管理员权限。 Alembic直接以系统locale解码带中文注释的INI在GBK环境失败;新增migrate.py明确UTF-8读配置后调用Alembic,新库迁移已实测。用户启动指南使用此入口。 访问令牌过期时,/auth/me必须与业务接口一样允许刷新。退出先恢复访问凭据,再读取轮换后的刷新令牌进行实际撤销;新增回归测试加载真实请求层和store验证上述路径。 ## 验收边界 - 未配置真实VLM/LLM/Embedding/Rerank,因此不声明外部模型识别精度、政策判断准确率或服务可用性已验收。 - 已验证单实例SQLite/local运行模式;未进行生产压测、分布式故障演练或公网部署。 - 代码在已覆盖路径中未发现阻断运行的缺陷;测试不能证明所有输入都绝对没有bug。 - 本机浏览器联调产生的运行数据留在本机data目录供查看;源码分发包排除数据库、上传原件、JWT密钥、真实.env、node_modules和虚拟环境,首次启动创建独立本地数据。 - 原始D盘目标的复制与文件校验结果另外记录于“交付与落盘说明”,不得仅根据工作区存在代码声称D盘已完成保存。