58 行
5.1 KiB
Markdown
58 行
5.1 KiB
Markdown
# 执行计划
|
|
|
|
## 2026-09-08 独立复核与提交授权
|
|
|
|
- 用户已独立复核通过本 task 的 18 文件包,包括单权限守卫、原有获准角色无误伤、经理复核保留、前后端正反测试与 AP-only 边界;不是主会话自检替代独立复核。
|
|
- 用户本轮授权独立提交 AP 修复,并与门禁包及已有两个 Trellis 提交一起推送;不包含部署或归档。本节之后的“待复核/未提交”表述保留为上轮交审时的历史状态。
|
|
- 推送不是发布;尚未授权生产部署,不能宣称生产 AP 权限已经收窄。经理其他 view_all 仍保留,不能宣称全域只看相关单据。
|
|
- 后续若准备未通过完整候选验收的发布方案,必须另行明确批准合同、验证缺口、候选、回滚及验收条件;本次提交推送授权不是整道候选门禁的豁免。
|
|
|
|
## 当前状态
|
|
|
|
- 2026-09-07:方案获批并修订为专用 finance.ledger.view,已 start;inline 实施。已保存全仓起始快照于本 task 的 artifacts,旧门禁包不得改写。
|
|
- 已读取 AP 两个 GET、导出守卫、角色权限和前端路由/页面判据,形成 PRD 与设计。
|
|
- 门禁任务不关闭、不归档、不自动提交;本轮实现及验证已完成,等待用户独立只读权限复核。
|
|
|
|
## 执行结果
|
|
|
|
- 已同步前后端静态角色表:仅 ceo、finance、finance_mgr 新增 finance.ledger.view;manager/ceo 的复核权限和六个 view_all 不变。应急 admin 通配符不变。
|
|
- AP 两个 GET、前端路由、本地 fallback 导航、服务端导航注册表只使用专用读取权限;没有 CEO 角色分支。导出与付款复核实现未修改。
|
|
- 新增 AP 路由矩阵;角色/导航/导出单测补反例;既有浏览器经理 AP 可访问测试按获批口径改为直连拒绝,新增 CEO、finance、finance_mgr、manager+finance 读取正例,实际切换财务台账;合同用例正文未修改、未运行。
|
|
- 后端五文件 123/123 PASS(含 76 条付款批次报销回归);前端六条定向浏览器 6/6 PASS、零重试、trace。不是 full-local,不抵扣旧 58 条清单。
|
|
- typecheck、独立 artifacts 目录 build、Node 语法、diff 检查和 Trellis governance PASS;未覆盖 client/dist。build 保留既有 Browserslist 数据陈旧提示,没有更新依赖。
|
|
- 首轮扩展付款回归有 BIFF8 导出失败,默认 Python 缺 xlrd;使用已存在的隔离 Python(固定 BIFF8 依赖)后 123/123 通过。原始失败日志保留,不宣称任意环境都具备该依赖。
|
|
- 浏览器前置原生 online=true、无 cookie、登录表单可见、refresh=0;本次是本地 Vite + 合成 API 浏览器测试,不冒充真实后端浏览器闭环或部署验证。
|
|
- 旧门禁 33 文件逐一摘要核对全部不变。未提交、push、部署或操作生产;独占 Vite 服务已停止。独立只读复核待用户,不派 implement/check 代理,不以主会话自检冒充独立复核。
|
|
|
|
## 验证命令与证据
|
|
|
|
证据目录:`artifacts/qa-flow/manager-ap-access-scope/implementation-01/`。
|
|
|
|
```bash
|
|
cd server
|
|
PAYMENT_ORDER_PYTHON_BIN=<已存在的隔离BIFF8解释器> npm test -- tests/unit/routes/apOperations.permissions.test.js tests/unit/constants/permissions.test.js tests/unit/workspaceSettings.navigation.test.js tests/unit/routes/exports.apOperations.test.js tests/unit/routes/paymentBatches.reimbursement.test.js
|
|
cd ../client
|
|
npm run typecheck
|
|
E2E_MODE=local E2E_BASE_URL=http://127.0.0.1:23117 ./node_modules/.bin/playwright test tests/e2e/payment-reviewer-permissions.spec.ts --grep '只有付款复核职责|AP 专用读取权限' --retries=0 --trace=on --reporter=list --output=../artifacts/qa-flow/manager-ap-access-scope/implementation-01/browser-final-results
|
|
./node_modules/.bin/vite build --outDir ../artifacts/qa-flow/manager-ap-access-scope/implementation-01/build
|
|
cd ..
|
|
node scripts/qa/check-trellis-governance.mjs
|
|
git diff --check
|
|
```
|
|
|
|
日志:`server-tests-final.log`、`browser-tests-final.log`、`browser-preflight.json`、`typecheck-final.log`、`build.log`、`governance-final.log`。局部 6 条来源 spec 与 grep 如实记录,不能称整个 payment-reviewer-permissions spec 通过。
|
|
|
|
## 原批准步骤(保留顺序记录)
|
|
|
|
1. 加载权限、后端、前端相关稳定规约,冻结既有工作树和本 task 写入面。
|
|
2. 先补 AP 权限矩阵测试及 CEO/多角色/经理复核保留反例。
|
|
3. 最小收紧 AP 后端读取与前端入口投影,不改其他 view_all 或付款复核授权。
|
|
4. 执行针对性后端测试、前端类型检查及获批的本地合成浏览器验证;不默认重跑 full-local 或生产操作。
|
|
5. 对照 AC 审核并交独立只读权限复核;发现新的数据范围或正常复核依赖问题先报告,不扩修。
|
|
6. 获批后更新现有权限规约,交付明确保留的 view_all 开口。提交、推送、部署均不随实施授权自动进行。
|
|
|
|
## 待独立复核
|
|
|
|
- 复核代码、正反权限结果和范围;本轮不请求或执行生产变更。task 保持 in_progress。
|
|
- 明确保留:经理仍可从报销列表查看全部单据,本轮只收窄 AP 入口,未实现所有业务域“只看相关单据”。
|