diff --git a/Local-Development-and-Verification.-.md b/Local-Development-and-Verification.-.md index c882e3d..1586770 100644 --- a/Local-Development-and-Verification.-.md +++ b/Local-Development-and-Verification.-.md @@ -51,7 +51,7 @@ Sense/Bell 的 Go、Node 与 pnpm 基线已冻结并记录于下文;Brain 的 |---|---|---|---|---| | Sense | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 | | Brain | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 | -| Bell | `go build ./...`;`pnpm build:prod` | `go test ./...`;`pnpm lint` | `go run . migrate`;`go run . serve`;`pnpm dev` | 首个独立纵切已实现,待验收 | +| Bell | 待 GoAdmin 派生工单建立 | 待建立 | 待建立 | 旧实现仅在 `explore`;新基线未初始化 | 不得复制旧仓库命令来填空。每个骨架工单必须同时建立 README、可复制命令和最小测试。 @@ -106,60 +106,29 @@ pnpm --version ## Sense 本地构建与验证 -使用根 `goadmin-baseline.json` 的精确版本。当前机器可用的隔离 Go 路径为开发机临时工具目录,不应写入部署配置。 - -```powershell -$env:PATH = 'C:\Users\ila20\AppData\Local\Temp\yovision-tools\go1.26.5\go\bin;' + $env:PATH -powershell -ExecutionPolicy Bypass -File .\Sense\scripts\bootstrap\check-toolchain.ps1 -cd Sense\server -go test ./... -go build ./... -cd ..\ui -corepack pnpm@9.15.1 install --frozen-lockfile -corepack pnpm@9.15.1 lint -corepack pnpm@9.15.1 build -cd ..\.. -powershell -ExecutionPolicy Bypass -File .\Sense\scripts\bootstrap\smoke.ps1 -``` - -正式后端启动必须设置 `SENSE_DATABASE_MODE=postgres` 和仓库外提供的 `SENSE_DATABASE_URL`。健康检查为 `GET /healthz`,就绪检查为 `GET /readyz`。本地 smoke 明确设置 `SENSE_DATABASE_MODE=memory`,不能代替 PostgreSQL 部署验证。 +新 Sense 尚未初始化。骨架工单必须先验证冻结 go-admin/go-admin-ui commit 与许可证,再记录从上游继承的构建、迁移、启动和测试命令;不得把 `explore` 的自研命令写成新基线事实。 ## Bell 本地构建与验证 -先从根 `goadmin-baseline.json` 核对精确版本,再从仓库外环境设置 Bell 专用数据库与会话密钥。命令中的值只能使用本地测试凭据,不得提交: - -```powershell -powershell -ExecutionPolicy Bypass -File .\Bell\scripts\bootstrap\check-toolchain.ps1 -Set-Location Bell\server -go test ./... -go build ./... -go run . migrate -go run . serve -Set-Location ..\web -corepack pnpm@9.15.1 install --frozen-lockfile -corepack pnpm@9.15.1 lint -corepack pnpm@9.15.1 build:prod -``` - -后端启动前必须提供独立 `BELL_DATABASE_URL` 与至少 32 字符的 `BELL_SESSION_SECRET`;`BELL_ENV` 可取 development、test、production。健康检查为 `GET /healthz`,就绪检查为 `GET /readyz`。首次管理员用 `go run . create-admin` 创建,密码通过 `BELL_BOOTSTRAP_PASSWORD` 进程环境一次性提供。 - -在 Sense、Brain 停止时,development/test 可使用“合成事件测试”完成 Event 入站、规则匹配、Alert 关联、ack 和结果必填 close。production 必须验证 `/api/v1/synthetic/*` 返回 404。PostgreSQL 集成测试使用空的 Bell 专用测试数据库,禁止复用 Sense 或生产数据库。 +新 Bell 尚未初始化。骨架工单必须从冻结 GoAdmin 源码建立并验证独立构建、数据库、认证和前端流程;旧 Bell 命令只在 `explore` 对应提交中适用。 -## Sense Windows 打包与产物验证 +## Sense Windows 打包状态 -将冻结的 Go 1.26.5 放在 `PATH` 首位后,从仓库根目录运行: - -```powershell -cmd /c .\Sense\scripts\package-windows.bat -Get-FileHash .\Sense\dist\sense-windows-amd64.zip -Algorithm SHA256 -``` - -脚本精确校验 Node 22.22.1 和 pnpm 9.15.1,冻结安装并构建前端,以 Windows amd64/CGO 关闭方式编译后端,然后生成被 Git 忽略的 `Sense\dist\sense-windows-amd64\` 和 ZIP。同一运行目录重新打包时会保留已有 `config\sense.env`,但该文件不会进入 ZIP。 - -解压后运行 `start-sense.bat demo` 可做内存模式临时预览。生产配置可写入运行目录的 `config\sense.env`,也可通过 Windows 进程环境注入;非空进程环境变量优先,启动器只读取 `SENSE_*` 键且不打印配置值。运行 `start-sense.bat check` 可在不连接数据库、不启动服务的情况下检查必填配置,然后用 `start-sense.bat` 启动生产模式。包内不含 PostgreSQL、MediaMTX、系统服务、客户数据或秘密,真实 `sense.env` 不得提交或重新打入交付 ZIP。 +旧 Sense Windows 包脚本只属于 `explore` 快照。新的打包命令必须在 GoAdmin 派生骨架和业务迁移完成后由独立工单重新建立、验证和记录。 + + +## GoAdmin 派生前置检查 + +每个 Sense/Bell 骨架或基础能力工单在修改前必须: + +1. 核对 `goadmin-baseline.json` 中三个完整 commit。 +2. 核对本机只读副本或重新检出的上游仓库 HEAD。 +3. 阅读任务相关的 go-admin-doc 主题/文件,并把参考项记录到工单。 +4. 记录计划继承的 go-admin/go-admin-ui 路径、计划隐藏/禁用的模块和许可证处理。 +5. 验证最终产品树确实包含上游派生结构;只使用 Go、Vue、Element Plus 或相似视觉不算通过。