merge: 收敛 HWPOD native L1

This commit is contained in:
pikastech
2026-07-21 09:15:00 +02:00
6 changed files with 139 additions and 59 deletions
+15 -1
View File
@@ -101,20 +101,34 @@ HWLAB v0.2/v0.3 仓库内 `docs/reference/spec-*`,以及已收编的 `cloud-wo
- 当前 lane 入口:
- development `NC01/v03` 前端/API 入口为 `https://lab-dev.hwpod.com`
- production release lane `NC01/production` 的正式入口为 `https://lab.hwpod.com`
- HWPOD L1 Native 是独立于 Cloud Web 的运行面:
- HWPOD L1 Native 是进程独立、界面复用完整 Cloud Web Shell 的运行面:
- API、Temporal worker、Web 和固定端口必须从 owning YAML 读取:
- `config/hwlab-node-lanes.yaml#lanes.<lane>.targets.<node>.nativeDevelopment.hwpod`
- 启停和状态统一使用 `hwlab nodes native-development hwpod api|worker|web`
- 聚合状态统一使用
`bun scripts/cli.ts hwlab nodes native-development hwpod status --node <node> --lane <lane>`
- L1 API、worker 和 Web 是 NC01 host 上的 native 进程:
- 任何情况下都不依赖 CI/CD、GitOps、Argo、Kubernetes 或集群 rollout
- 正常启动、首次拉起、配置变更、合并后复测和故障处理均适用;
- L1 Web 必须复用完整 Cloud Web 的 `AppShell`、Router、总根导航和
`/hwpods/devices` 页面,禁止另建 standalone SPA 或复制一套 HWPOD 页面;
- 可见根导航和首屏路径由
`nativeDevelopment.hwpod.web.accessProfile` 声明,runtime config 从同一 owning YAML
渲染并注入,禁止前端或启动脚本硬编码默认值;
- topology 首屏由 native HWPOD API 从 YAML-first/PostgreSQL spec registry 构建,
禁止代理 deployment Cloud API 作为 L1 首屏数据源;
- CLI `--over-api` 直接调用 owning YAML 固定端口上的 native API
- 同 host 回归使用 YAML probe host
- 禁止改走 Cloud API 或 Kubernetes Service
- L1 只验收本机 API、worker、Web 小回环:
- 公网入口与 public-edge 是独立可选检查;
- 不得成为 L1 启动、执行或完成条件;
- 浏览器验收统一使用
`bun scripts/cli.ts web-probe native-readiness --node <node> --lane <lane> --profile hwpod`
- HWPOD Web 无业务登录页时,由 owning YAML profile 声明 `authentication: none`,不得改用临时 Playwright 脚本或弱化浏览器错误断言。
- native API 已接受操作且 Temporal workflow 已创建时,后续公共
`/v1/hwpod-node-ops` 失败必须分类为外部 Cloud API 或 node 运行面故障,
不得误判为 L1 API、worker 或 Temporal 未启动。
- HWPOD L0 与 L1 的 host 边界:
- L0 `--local` 直接执行当前 host 的 function 和文件系统,不提供跨 host 路由;
- 跨 host 的 Windows spec 在 API host 做 L0 时,只比较 compiler/plan 合同;