docs: 记录公网验收与已知事项(09-05-error-explainability-payment-readiness)
这个提交包含在:
@@ -148,3 +148,17 @@
|
|||||||
- 用户明确批准本任务提交、push、部署;部署后核验 `/ready` 与 bundle marker、文案扫描零 findings、0014 候选禁用及缺项原因、创建接口 fail-closed、B2 保持 force_on + global。
|
- 用户明确批准本任务提交、push、部署;部署后核验 `/ready` 与 bundle marker、文案扫描零 findings、0014 候选禁用及缺项原因、创建接口 fail-closed、B2 保持 force_on + global。
|
||||||
- 生产核验只使用最小脱敏结果,不读取或修改真实银行卡资料;不补录 0014,不执行真实付款。若前置条件变化可能导致创建成功,停止强行创建探针。
|
- 生产核验只使用最小脱敏结果,不读取或修改真实银行卡资料;不补录 0014,不执行真实付款。若前置条件变化可能导致创建成功,停止强行创建探针。
|
||||||
- Task 保持 `in_progress`;独立复核通过不等于公网 AC12 完成。发布和公网证据待实际执行后回填,不提前标记 PASS,不归档 Trellis 升级任务。
|
- Task 保持 `in_progress`;独立复核通过不等于公网 AC12 完成。发布和公网证据待实际执行后回填,不提前标记 PASS,不归档 Trellis 升级任务。
|
||||||
|
|
||||||
|
## 11. 发布与公网验收结果(2026-09-05)
|
||||||
|
|
||||||
|
- 产品提交:`a83791263833547fdab7ba6910f190fcccd5e34b`,已 push;本任务 42 个文件,未包含 Trellis 升级改动。当前节及验收状态属于后续证据提交,不改变线上产品版本。
|
||||||
|
- 按既有入口 `production-identity-bootstrap.mjs` 先执行只读预检再部署,两次退出均为 0。生产身份验证通过,迁移 reconciliation 前后均 `pending=none`,回滚窗口 OPEN;应用发布、运行时 smoke 及备份合同刷新通过。未修改部署脚本、schema、migration、seed 或 flag 实现;使用既有部署 init,不将其描述为完全无运维写入。
|
||||||
|
- `/ready`:HTTP 200,`buildSha=a83791263833`,与产品提交前缀一致。公网 bundle 扫描:`scanned=106 focused=2 buildMarker=PASS findings=0`。
|
||||||
|
- 0014 候选 API:`ready=false`,原因码精确包含 `payment_batch.legal_entity_required`、`payment_batch.payee_bank_required`、`payment_batch.payee_account_required`。
|
||||||
|
- 公网真实浏览器:候选行可见,复选框 disabled;所属公司及银行资料缺项说明就近可见,`aria-describedby` 正确关联。不是本地 mock 或仅根据 bundle 推断 UI。
|
||||||
|
- 创建接口探针:先重新请求组合 readiness,确认三类缺项仍存在且 `ready=false` 后,才发出用户批准的创建请求;HTTP 409、`VALID_001`、`details.reasonCode=payment_batch.legal_entity_required`。未补录资料、未创建成功批次、未执行付款。
|
||||||
|
- B2:受控认证只读查询确认 `reimbursement_invoice_guard_v1` 仍为 `force_on + global`;未调用 flag 修改接口。
|
||||||
|
- 验证账号边界:受控财务测试账号登录 HTTP 403,未重置、恢复或更改权限;上述页面与 API 验收改用可正常登录且有既有权限的受控管理员账号完成。不将本次结果表述为该财务账号登录恢复;该账号可用性待管理员单独核对。
|
||||||
|
- 所有公网探针仅输出状态码、原因码和布尔断言;未保存 token、真实银行资料、原始业务响应或包含真实业务内容的截图。临时浏览器均已关闭。
|
||||||
|
- AC12 已凭上述真实负向证据勾选。0014 仍需业务人员补所属公司、确认真实开户行并录入真实资料;非建行停止,不得伪填。合同只读超时仍为未归因事项,由 `shunli` 在下次合同域验证前安排独立复现并归类,不计入本轮通过,不以本次发布关闭。
|
||||||
|
- 本 task 发布验收完成,未获归档授权,保留 `in_progress` 和现有目录;Trellis 升级继续留在独立 worktree,未审、未提交、未部署。
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
- [x] AC9:员工资料或公司账户变化后下一次 readiness 立即变化;schema、migration 和持久化 readiness 字段为零。
|
- [x] AC9:员工资料或公司账户变化后下一次 readiness 立即变化;schema、migration 和持久化 readiness 字段为零。
|
||||||
- [x] AC10:用受控 fixture 复现 0014 三类缺项,分别提示所属公司、开户银行/银行卡和渠道限制;不使用或修改真实银行卡资料。
|
- [x] AC10:用受控 fixture 复现 0014 三类缺项,分别提示所属公司、开户银行/银行卡和渠道限制;不使用或修改真实银行卡资料。
|
||||||
- [x] AC11:相关服务端、客户端单元/Playwright、typecheck/build、Prisma validate、UI strict/self-test、Trellis governance、敏感扫描和 `git diff --check` 全部通过。
|
- [x] AC11:相关服务端、客户端单元/Playwright、typecheck/build、Prisma validate、UI strict/self-test、Trellis governance、敏感扫描和 `git diff --check` 全部通过。
|
||||||
- [ ] AC12(部署后):`/ready`、bundle marker、公网文案扫描通过;合成 API/页面证明 readiness 与原因码解析生效。真实资料补录和 0014 重试由授权人员完成,未取得真实证据时不得冒充 PASS。
|
- [x] AC12(部署后):`/ready`、bundle marker、公网文案扫描通过;合成 API/页面证明 readiness 与原因码解析生效。真实资料补录和 0014 重试由授权人员完成,未取得真实证据时不得冒充 PASS。2026-09-05 经用户追加授权,以公网受控管理员对 0014 的真实缺项负向核验确认候选禁用、就近原因和创建 409;未补录资料、未创建成功批次、未执行付款,详见 implement.md 第 11 节。
|
||||||
|
|
||||||
## Test Plan
|
## Test Plan
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
"branch": null,
|
"branch": null,
|
||||||
"base_branch": "main",
|
"base_branch": "main",
|
||||||
"worktree_path": null,
|
"worktree_path": null,
|
||||||
"commit": null,
|
"commit": "a83791263833547fdab7ba6910f190fcccd5e34b",
|
||||||
"pr_url": null,
|
"pr_url": null,
|
||||||
"subtasks": [],
|
"subtasks": [],
|
||||||
"children": [],
|
"children": [],
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户