diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 600808c..bc4745c 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,15 +1,17 @@ # Scert 整改任务执行清单 -## 2026 年 9 月 28 日:项目成员接口与分页(18:42,实施中) +## 2026 年 9 月 28 日:项目成员接口与分页(18:55 同步,修复待复测) -本批接续 `bf10eb5`,不再重复数据库驱动选型;原始 44 项及验收标准不缩减。源码修改前提交并推送本节作为检查点。 +本批于 18:42 进入实施,接续 `bf10eb5`,不再重复数据库驱动选型;原始 44 项及验收标准不缩减。源码修改前检查点 `4618670` 已提交;新增接口、审计与修复仍未提交。本次仅同步文档,不修改代码或重新执行测试。 - [x] 确认需求:接入现有成员事务仓储,操作者只取服务端验证的会话;用户分组和全局管理员角色不隐式授予项目权限。 - [~] 增加成员列表分页与授予/撤销接口;同一用户的多个项目角色应合并显示,列表只返回必要身份字段,不返回邮箱、密码摘要或分组。 -- [ ] 成员查询在读取数据的 SQL 内判权,拒绝跨项目、撤权后访问和停用账户;空列表不能与未授权混淆。 -- [ ] 成功变更沿用事务审计,失败请求补充有界审计;未验证身份不得归给请求提供的账户,不记录原始请求体或底层数据库错误。 -- [ ] 新增正式仓储和 HTTP 回归,检查实际运行时依赖接线;双版本 MySQL、完整后端与竞态按最终源码验证。 -- [ ] 同步总清单、模型和接口文档。成员管理页面、项目入口、全部业务资源授权及排队任务重判继续后续交付;本批接口通过不等于完整权限隔离或生产验收。 +- [~] 成员查询在读取数据的 SQL 内判权,拒绝跨项目、撤权后访问和停用账户;空列表不能与未授权混淆。实现与用例已加入,最终源码待复测。 +- [~] 成功变更沿用事务审计,失败请求补充有界审计;未验证身份不得归给请求提供的账户,不记录原始请求体或底层数据库错误。实现已加入,失败边界继续验证。 +- [~] 正式仓储、HTTP 和应用接线测试已加入。首轮 `focused-first.jsonl` 于 18:49 记录审计失败回滚用例期望 500、实际 409;精确唯一键冲突分类修复已写入,尚无修复后通过证据。 +- [ ] 双版本 MySQL、完整后端、竞态、静态检查及构建按最终源码验证,上一批结果不代表当前新增接口通过。 +- [x] 同步总清单顶部、P0-07 最新进度及本执行清单,明确实现中、失败和待复测边界,原始 44 项总状态不升级。 +- [ ] 补齐模型和正式接口文档。成员管理页面、项目入口、全部业务资源授权及排队任务重判继续后续交付;本批接口通过不等于完整权限隔离或生产验收。 ## 2026 年 9 月 28 日:数据库最终候选(18:36,回归完成,等待复审) diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index d4293bd..089dab4 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,6 +1,31 @@ # Scert 整改、合并与优化清单 -## 当前进度(2026 年 9 月 28 日 18:36,数据库候选回归完成,整体验收未通过) +## 当前进度(2026 年 9 月 28 日 18:55,成员接口已进入实现,修复待复测) + +本次核对总清单、执行清单、工作区源码与专项日志,补齐总清单遗漏的 18:42 成员接口批次。上一批数据库回归文档已随 `bf10eb5` 提交,成员接口修改前检查点为 `4618670`;本节所述新增接口与修复仍在工作区,未提交,也未完成最终源码回归。本次仅同步文档,不修改业务代码、不重启测试、不清理数据库、不进行远端部署。 + +### 本批任务状态 + +- [x] 确认进度同步范围:保留原始 44 项、验收标准和历史证据,按实际实现与验证结果更新,不以测试数量折算完成率。 +- [~] 成员列表、授予及撤销接口已加入工作区并接入应用依赖;列表按用户账户分页,接口允许每页 5、10、15、30 位成员,同一账户的多个角色不拆页。尚未通过本批完整回归,不能视为已经交付。 +- [~] 列表查询内实时判权、服务端会话身份和失败请求审计已有实现;成功成员变更继续使用事务审计。相关专项已加入,但最终源码边界仍待复测。 +- [~] 首轮专项 `artifacts/project-member-api-20260928/focused-first.jsonl` 于 18:49 记录失败:成功审计写入失败回滚用例期望 HTTP 500,实际返回 409。工作区已加入精确成员唯一键冲突分类修复;截至本次核对,证据目录只有首轮日志,没有修复后通过证据。 +- [ ] 重新验证修复后的仓储、HTTP 和应用实际接线测试,再按版本依次执行 MySQL 5.7/8.0、完整后端、竞态、静态检查和构建;不将上一批数据库候选通过结果复用为本批新代码结果。 +- [ ] 成员管理页面、项目入口、全部业务资源授权及排队任务重判继续后续交付;PostgreSQL 当前实库、Linux 原生、完整发行包和生产验收仍未完成。 + +### 原始 44 项状态汇总 + +| 状态 | 数量 | 说明 | +|---|---:|---| +| `[✓]` 复审通过 | 0 | 尚无整项通过最终复审 | +| `[x]` 已完成,等待复审 | 3 | P0-01、P0-02、P0-03 | +| `[~]` 进行中 | 27 | 包含本批继续实施的 P0-07,不把局部源码实现记为整项完成 | +| `[!]` 暂缓或存在阻塞 | 3 | P0-11、P2-08、P2-09 | +| `[ ]` 未开始 | 11 | P1-10 及 P3 的 10 项 | + +当前整体验收仍未通过。下方章节按各自时间保留为历史快照,当前待办以本节与《Scert整改任务执行清单.md》首节为准。 + +## 历史进度快照(2026 年 9 月 28 日 18:36,数据库候选回归完成,整体验收未通过) 本节更新下方 13:05 快照。检查点 `0edde01` 已提交推送;当前驱动改为 `modernc.org/sqlite v1.59.0`,配套 `libc v1.75.7`,实测引擎为 SQLite 3.53.4。旧 v1.40.1 的 3.50.4 引擎处于官方 WAL-reset 缺陷影响范围,先前通过只作为中间版本证据,不作为最终候选放行。 @@ -335,7 +360,7 @@ backup_records 备份记录 **状态:** `[~] 进行中` -**最新进度(2026-09-28):** 仓储层已实现六类项目角色、实时判权、单语句授权变更与事务审计,取消/审计失败回滚及跨项目拒绝已有专项。成员管理 Web/API、分页、全部资源入口与排队任务执行/取消/重试重判尚未接入;仓储通过不等于对外权限隔离完成。 +**最新进度(2026-09-28 18:55):** 仓储层已有六类项目角色、实时判权、单语句授权变更与事务审计。本批成员列表分页、授予/撤销 API、应用接线和失败请求审计已加入工作区,正式测试同步增加;首轮专项存在审计写入失败被误分类为成员冲突的问题,修复已写入但尚未复测,不能记为接口交付。成员管理页面、项目入口、全部资源入口与排队任务执行/取消/重试重判仍未完成;上一批仓储通过不等于本批接口或对外权限隔离完成。 建议角色: