补齐企微历史验收模拟接口隔离(09-06-release-gate-integrity / 09-17-company-loan-principal-repayment)

N3 第三轮候选 98bab397:浏览器 371 通过、1 失败;报销付款与 PWA 升级通过。
桌面企微历史测试整页导航后等待标题超时,快照退回登录页。
确认默认桌面 context 漏掉已有的 Service Worker 隔离;原运行没有请求来源证据,历史唯一根因未证实。
补文件级隔离,验证原导航实际获得该 fixture 的 refresh/profile 响应:200、非 Worker、requestId 对应。
原三项用例、登录/会话、桌面只读、手机布局及截图保持。受管定向 3 项通过,无失败/跳过/重试,环境和清理通过。
应用、资金规则、迁移、门禁范围、预算和全局并发未改。前三轮失败回执保留。
第四轮完整候选结果以新回执为准;独立代码复核及真实还款待验。
仅本地提交,不推送、不部署,不访问生产或真实 OCR。
这个提交包含在:
2026-10-09 09:22:10 +08:00
父节点 98bab39798
当前提交 8e17e8dfa1
共修改 6 个文件,包含 52 行新增和 1 行删除
@@ -265,6 +265,7 @@ and verification contracts. Do not copy broad aesthetic guidance from
- A spec that depends on Playwright route mocks must block Service Workers when
it can run a PWA build. Do not rely on Service Worker installation or takeover
timing to keep requests visible to `page.route`.
- Cover both default `{ page }` fixtures and manually created contexts. A mobile `browser.newContext({ serviceWorkers: "block" })` does not protect the default desktop fixture; register full-navigation refresh/profile response witnesses before navigating and verify their synthetic source when diagnosing session loss.
- Vite dev success is not equivalent evidence: the generated PWA worker is a
production-build behavior and may be absent in dev.
- Blocking the worker is a fixture boundary, not an authentication bypass. The