Files

3.9 KiB
Raw Permalink Blame History

阶段 0 环境版本基线(含 cms 只读基线与 gitignore 验证)

  • 记录日期: 2026-10-20 17:16 (UTC+8)
  • 记录人: Task 0.1(SiteForge Plan 1 / 阶段 0+1 首个任务)
  • 用途: 后续各阶段验收"cms 仓库未被修改"的对照证据。发现任何差异只报告用户,绝不执行 restore/checkout。

1. cms-one 当前 Git 状态

  • 分支:main
  • 当前 commit(git rev-parse --short HEAD):
0ead98f

记录时 cms-one 工作树另有一处与本任务无关的既有未提交改动:M docs/superpowers/plans/2026-10-20-slice-foundation-phase0-1.md(计划文档本身,不属于本任务提交范围)。

2. 环境版本(Step 1)

命令:node -v && pnpm -v && docker --version && docker compose version

v24.13.0
10.7.1
Docker version 29.2.1, build a5c7197
Docker Compose version v5.0.2
要求 实测 结论
node ≥ v22.x v24.13.0 通过
pnpm ≥ 9.x 10.7.1 通过
docker 可用 Docker version 29.2.1 通过
compose 可用 Docker Compose version v5.0.2 通过

3. cms 只读基线(Step 2,验收对照用)

对冻结仓库 D:\project\cms 只执行了以下两条只读命令,输出原样记录如下。

3.1 git -C D:/project/cms rev-parse HEAD

22a4377a1885983c4a2f5cdc11b06ae219cf81c0

3.2 git -C D:/project/cms status --porcelain

(无输出,退出码 0 —— 工作树干净)

计划中提示"cms 工作树可能存在既有未提交改动(如 about.astro)";实测当前 porcelain 输出为空、退出码 0,即 cms 工作树干净、无未提交改动。

⚠️ 2026-10-20 17:25 更新(规格审查期间发现):cms 是活跃开发中的仓库——审查期间 HEAD 已由 22a4377 前进到 c8c2aa2(并行会话提交"关于页员工横排网格")。因此本节基线降级为信息性记录(记录我们开始工作时的快照),不再作为"逐字节一致"的验收断言。对本项目真正不变的不变量是:SiteForge 项目自身绝不向 cms 执行任何写操作(流程纪律);阶段验收时另外记录当时所见 cms HEAD 供参考,发现任何异常只报告用户。

4. gitignore 验证(Step 3)

4.1 计划原命令:git check-ignore -v storage artifacts .env

.gitignore:12:.env	.env

退出码 0。仅 .env 命中;storage、artifacts 无输出。原因:两者在 .gitignore 中为目录型规则(storage/ 于第 10 行、artifacts/ 于第 5 行),且这两个目录当前尚不存在——对不存在的裸路径名,git 无法判定其为目录,故目录型规则不命中。

4.2 带斜杠复验:git check-ignore -v storage/ artifacts/ .env

.gitignore:10:storage/	storage/
.gitignore:5:artifacts/	artifacts/
.gitignore:12:.env	.env

退出码 0。三条路径各命中一条忽略规则,覆盖确认有效(目录一经创建即被忽略)。

4.3 git add --dry-run .env.example

fatal: pathspec '.env.example' did not match any files

退出码 128。原因:.env.example 文件当前尚不存在(属后续脚手架任务的产出),dry-run 无从执行,已如实记录。

4.4 反排除规则的等价验证:git check-ignore -v .env.example

.gitignore:14:!.env.example	.env.example

check-ignore 按规则判定、不依赖文件存在:最终匹配的是第 14 行的否定规则 !.env.example,证明反排除生效——.env.example 一经创建即可正常 git add,不会被忽略。

4.5 结论

.gitignore 对 storage/(:10)、artifacts/(:5)、.env(:12)的忽略与 !.env.example(:14)的反排除均验证有效;唯一偏差是 4.3 的 dry-run 因文件不存在而无法执行,已用 4.4 等价验证补足。

5. PostgreSQL 镜像计划

  • 使用固定 tag:postgres:16(不使用 latest)。

本文件为验收证据,一经提交不应修改。