From 0380ea1e91c9b9d1e6d4857d2b8759dbbd68864a Mon Sep 17 00:00:00 2001 From: xuans Date: Sun, 27 Sep 2026 18:07:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BB=BB=E5=8A=A1=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E4=B8=8E=E4=BA=A7=E7=89=A9=E8=BE=B9=E7=95=8C=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E5=85=8B=E9=9A=86=E9=AA=8C=E6=94=B6=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Scert整改任务执行清单.md | 34 ++++++++++++++++++++++------ doc/基础整改任务规格.md | 16 ++++++------- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 17d7c57..0ded39e 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -36,8 +36,8 @@ | 编号 | 状态 | 任务 | 当前问题 | 下一步交付 | 验证证据 | |---|---:|---|---|---|---| | P0-01 | [x] | 明确产品范围 | 正式发布仅含 Web/服务端,桌面源码保留;CLI 已收敛且实际 Windows 产物验证通过 | 等待最终复审;Windows/Linux 实机安装仍归对应验收项 | 双平台归档及 SHA256、独立克隆、命令树及实际退出码 | -| P0-02 | [~] | 建立完整任务清单 | 44 项逐项规格已补齐,字段、六阶段和汇总状态结构核对通过 | 完成引用及独立克隆复核后标记待复审,持续维护证据 | 四份规格及统一验收约定、结构核对结果 | -| P0-03 | [~] | 整理源码、构建产物和部署产物 | 全仓库规则和目录说明已补齐;隔离 Git 忽略测试通过,子目录规则补充待再测 | 当前提交独立克隆复核,保留现有文件 | 正式 Go 边界回归、索引审查、独立克隆 | +| P0-02 | [x] | 建立完整任务清单 | 44 项逐项规格、原始编号名称、字段、六阶段、引用和汇总状态核对通过 | 等待最终复审,随实现同步状态和证据 | 四份规格、统一验收约定及 `fab98d1` 独立克隆 | +| P0-03 | [x] | 整理源码、构建产物和部署产物 | 全仓库及子目录规则、目录说明、正式回归和独立克隆构建校验通过 | 等待最终复审,后续提交继续执行边界检查 | 正式 Go 回归、完整索引、双平台 33 项清单及解包校验 | | P0-04 | [~] | 统一开发和构建版本 | 模块实际使用 Go `1.26.6`,不存在此前误报的版本阻塞;历史文档仍需统一 | 统一模块、构建说明、锁文件和验收机版本记录 | 版本矩阵、构建日志 | | P0-05 | [!] | 确认数据库正式支持矩阵 | 三种数据库均有代码,但 README、文档和实机证据口径不完全一致 | 明确 SQLite、MySQL、PostgreSQL 的正式级别、版本和迁移回滚要求 | 三数据库迁移、备份恢复和连接测试 | | P0-06 | [~] | 建立统一领域模型 | 已有域名、证书、任务、服务器等实体,项目和部署关联仍需审查 | 补齐资源关系图、外键/归属和任务关联 | 模型文档、迁移检查、接口测试 | @@ -107,11 +107,11 @@ ## 八、下一轮优先顺序 -1. 对已补齐的 P0-02 全部 44 项规格完成引用与独立克隆复核,保持状态、依赖及证据一致。 -2. 对 P0-03 全仓库及子目录忽略规则完成正式回归和当前提交独立克隆复核,保留桌面源码及本地历史产物。 -3. 继续 P0-04 版本/安装策略统一及 P0-05 三数据库迁移恢复的实际验证。 -4. 继续定位 SSH 公钥自动部署实机失败阶段,完成密码回退和密钥登录双路径验收。 -5. 将生产验收门禁与当前远程部署、DNS、HTTPS 和 ACME 证据逐项对应。 +1. 继续 P0-04 工具链固定、锁文件安装策略及构建机/运行机版本记录;独立安装仍有 esbuild 脚本批准策略警告,不自动批准绕过审查。 +2. 继续 P0-05 三数据库正式版本矩阵、真实迁移和恢复验证,明确非跳过证据。 +3. 推进 P0-06/P0-07 领域模型和项目隔离;用户分组不能替代项目权限。 +4. 继续定位 SSH 公钥自动部署实机失败阶段,完成密码安装和密钥登录双路径验收。 +5. 将生产验收门禁与当前远程部署、DNS、HTTPS 和 ACME 证据逐项对应;P0-01/P0-02/P0-03 保持待最终复审,不重做已取得的同提交证据。 ### 2026-09-27:自动化基线验证 | 验证项 | 命令 | 结果 | @@ -193,3 +193,23 @@ | 归档测试范围 | Linux 测试改用 `scert-storage`,不再要求桌面;Windows 测试逐项核查实际平台文件,不再仅判断 Web 入口存在 | 发布模块测试和 vet 通过 | P0-01 标记 `[x] 已完成,等待复审`,不标记生产放行。整体 44 项整改未完成:P0-02 执行规格、P0-03 全仓库边界、三数据库实机验证、项目权限、统一任务、备份页面及生产门禁等仍需继续。上述输出均在忽略目录内,没有提交二进制、运行数据或辅助测试脚本。 + +### 2026-09-27:P0-02/P0-03 规格与产物边界验收记录 + +本批从北京时间约 17:40 开始,基线 `96883b3`;修改前已推送中文检查点 `61b8cac`。实现提交为 `fab98d1069c29729959c031ce6cf112512751017`,随后仅更新本批证据与状态。没有 SSH、真实 DNS、生产数据库清理或浏览器操作,也没有删除工作区既有文件、添加临时辅助验收脚本。 + +| 验证项 | 实际结果 | 边界 | +|---|---|---| +| 44 项执行规格 | P0 12、P1 12、P2 10、P3 10;编号和名称与原始清单一致,每项有 12 个必需字段及独立六阶段 | 规格齐全不代表 44 项功能完成 | +| 结构和引用 | 显式依赖编号、既有文件路径、汇总状态核对通过;拟新增路径明确标注 | 使用只读核对,没有生成辅助脚本 | +| 目录及忽略边界 | 新增发布、证据、测试及辅助目录说明;通用二进制、归档、缓存、补丁、数据库旁路和私钥规则;公共 CA 和迁移仍保留 | 忽略规则不是内容级秘密扫描器 | +| 正式边界回归 | `source_boundary_test.go` 在隔离 Git 仓库核对根/子目录规则和所有受跟踪路径,屏蔽调用者 Git 配置 | 不依赖 `.git/info/exclude`,不把已有被跟踪产物自动放过 | +| 后端完整回归 | `go test -p 1 -count=1 -timeout=3m ./...`、`go vet -p=1 ./...`、`go mod verify` 均通过 | 当前 Windows 主机自动化,不是 Linux 平台专用代码实机测试 | +| 边界测试开销 | 改为一次空字节分隔的批量 Git 查询;发布模块完整回归约 2.48 秒,独立克隆约 3.75 秒 | 保持相同路径及索引断言,避免逐文件启动 Git 的约 32 秒开销 | +| 独立克隆 | `git clone --no-local --no-hardlinks` 到 `build/checkout-boundary-20260927-fab98d1/`,当前提交及规格齐全 | 不共享源仓库硬链接或专属排除配置 | +| 干净前端安装与测试 | 克隆内 `npm.cmd ci --no-audit --no-fund` 成功,`npm.cmd test` 150/150 通过,0 跳过 | esbuild 安装脚本批准策略警告仍属 P0-04,不自动放行 | +| 双平台候选 | 克隆内正式脚本输出至 `release/boundary-20260927-fab98d1/`,Web、Windows amd64、Linux amd64 构建和路径检查通过 | `source_dirty=false`,范围为 web/server,无桌面产物 | +| 实际清单与解包 | 33 项 manifest 长度/SHA256 一致;Windows 9 文件/8 校验项,Linux 22 文件/21 校验项全部一致,无额外包内文件 | 本批没有将包部署到远端运行 | +| 构建后源码边界 | 独立克隆安装依赖、构建和解包后 `git status --short` 为空,发布及证据输出由仓库规则忽略 | 没有二进制、归档、数据库、密钥进入本批提交 | + +本批将 P0-02、P0-03 标记为 `[x] 已完成,等待复审`。连同 P0-01,共 3 项处于待复审状态,不标为 `[✓]`。其余任务及全部生产门禁继续保留,整体整改目标尚未完成。 diff --git a/doc/基础整改任务规格.md b/doc/基础整改任务规格.md index cf2c9b8..8cd5644 100644 --- a/doc/基础整改任务规格.md +++ b/doc/基础整改任务规格.md @@ -19,30 +19,30 @@ ## P0-02 整理项目任务清单 - 任务编号:P0-02;任务名称:整理项目任务清单;优先级:P0。 -- 当前状态:`[~] 进行中`。 -- 六阶段:需求确认 `[x]`;代码实现 `[~]`;自动化测试 `[ ]`;隔离环境测试 `[ ]`;生产部署测试 `[ ]`;最终验收 `[ ]`。 +- 当前状态:`[x] 已完成,等待复审`。 +- 六阶段:需求确认 `[x]`;代码实现 `[x]`;自动化测试 `[x]`;隔离环境测试 `[x]`;生产部署测试 `[ ]`;最终验收 `[ ]`。 - 问题说明:旧汇总表虽覆盖 44 项,缺逐项依赖、文件、命令、实机步骤和复审字段。 - 涉及文件:《Scert整改任务执行清单.md》、本文件、其余三级任务规格、《整改任务规格与验收约定.md》;关联《Scert开发任务清单.md》《全面审查测试与优化记录.md》《发布加固与实机验收记录.md》《生产部署与运维说明.md》。 - 依赖任务:P0-01;其余 43 项的业务完成不是本项文档补齐的前提。 - 整改内容:逐项补足 12 个原定字段及六阶段,原始清单保留;区分历史事实、规划和当前实证;维护汇总状态与规格一致。 - 验证命令:V01;按约定进行 44 项编号、必需字段、依赖、文件、状态和六阶段结构核对,并人工对照原始范围。 - 实机验收步骤:生产执行时按规格逐项登记提交、包哈希、环境与实际操作;抽查任何“通过”能回溯到对应证据。文档治理本身不触碰服务器或数据库。 -- 验收证据:新增逐项规格,结构与范围复核尚待本轮结果;不将文档齐全称为 44 项业务完成。 -- 复审结果:待结构核对和范围复核。 +- 验收证据:2026-09-27 对照原始清单核对全部 44 项编号和名称、必需字段、六阶段、显式依赖编号、既有文件及汇总状态;`fab98d1` 独立克隆包含全部规格,构建后工作区干净。详见执行清单本批记录;不将文档齐全称为 44 项业务完成。 +- 复审结果:结构与范围核对通过,等待最终复审;本治理项未单独执行生产部署,实际业务按各任务门禁继续验证。 ## P0-03 整理源码、构建产物和部署产物 - 任务编号:P0-03;任务名称:整理源码、构建产物和部署产物;优先级:P0。 -- 当前状态:`[~] 进行中`。 -- 六阶段:需求确认 `[x]`;代码实现 `[~]`;自动化测试 `[~]`;隔离环境测试 `[~]`;生产部署测试 `[ ]`;最终验收 `[ ]`。 +- 当前状态:`[x] 已完成,等待复审`。 +- 六阶段:需求确认 `[x]`;代码实现 `[x]`;自动化测试 `[x]`;隔离环境测试 `[x]`;生产部署测试 `[ ]`;最终验收 `[ ]`。 - 问题说明:既有忽略规则未覆盖根级二进制、通用归档、补丁和数据库旁路文件;开发机排除配置不能代表新克隆。 - 涉及文件:`.gitignore`、`backend/internal/releasearchive/source_boundary_test.go`、`release/README.md`、`artifacts/README.md`、`tests/README.md`、`scripts/README.md`、《仓库目录与产物边界说明.md》。 - 依赖任务:P0-01。 - 整改内容:建立八类目录及构建/运行边界,不删除现有文件;忽略产物和敏感文件但保留源码、迁移、部署测试及公开 CA;检测已跟踪违禁产物。 - 验证命令:V01、V05;`go test -count=1 ./internal/releasearchive -run TestRepositoryIgnore`,在 `backend/` 执行。 - 实机验收步骤:独立克隆只取源码,安装依赖并正式构建;确认工作区无新增产物入索引;部署只取发布白名单,不能携带浏览器缓存、数据库或本机凭据。 -- 验收证据:上一轮已有干净克隆构建;本轮隔离 Git 忽略测试已运行,完整回归与提交核对待记录。 -- 复审结果:待全量边界复核,不代表生产能力通过。 +- 验收证据:`fab98d1` 后端全量测试、vet、模块校验通过;隔离 Git 核对根及子目录规则和完整索引;独立克隆完成发布模块测试、前端 150 项、双平台构建及 33 项 manifest/归档校验,产物未入索引,未删除现有文件。 +- 复审结果:源码及产物边界复核通过,等待最终复审;没有执行远端生产部署,不代表生产能力通过。 ## P0-04 统一开发和构建版本