diff --git a/docs/reference/hwlab.md b/docs/reference/hwlab.md index af65ab82..11d74812 100644 --- a/docs/reference/hwlab.md +++ b/docs/reference/hwlab.md @@ -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..targets..nativeDevelopment.hwpod`; - 启停和状态统一使用 `hwlab nodes native-development hwpod api|worker|web`; + - 聚合状态统一使用 + `bun scripts/cli.ts hwlab nodes native-development hwpod status --node --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 --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 合同;