fix: complete 71freq boardcomm ioprobe spec (#987)

Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
Lyon
2026-06-26 14:42:34 +08:00
committed by GitHub
parent 4a58eb2da1
commit 49de49a470
2 changed files with 41 additions and 2 deletions
@@ -49,11 +49,28 @@ hwpodPreinstall:
- id: hwpod-node-ops - id: hwpod-node-ops
kind: hwpod-node-ops kind: hwpod-node-ops
endpointRef: config/hwlab-gateway/constart-71freq-d601-v03.yaml#gateway.profile.nodeOps.publicUrl endpointRef: config/hwlab-gateway/constart-71freq-d601-v03.yaml#gateway.profile.nodeOps.publicUrl
- id: freq71
kind: jsonrpc-tcp
host: 192.168.0.154
port: 8000
role: frequency-controller
- id: main41
kind: jsonrpc-tcp
host: 192.168.0.151
port: 8000
role: main-controller
ioProbe: ioProbe:
uart: uart:
id: uart/1 id: uart/1
port: COM4 port: COM4
baudrate: 921600 baudrate: 921600
probes:
- id: main41.ai0.current
endpointRef: main41
quantity: current
unit: mA
path: hardware/ai/0
valuePath: ai_current_mA
runtimeMount: runtimeMount:
namespace: hwlab-v03 namespace: hwlab-v03
configMapName: hwlab-v03-hwpod-preinstalled-specs configMapName: hwlab-v03-hwpod-preinstalled-specs
@@ -92,11 +109,33 @@ hwpodPreinstall:
probeName: MicroLink CMSIS-DAP probeName: MicroLink CMSIS-DAP
programBackend: keil-headless programBackend: keil-headless
autoBindUvoptx: true autoBindUvoptx: true
boardComm:
endpoints:
hwpod-node-ops:
kind: hwpod-node-ops
endpointRef: config/hwlab-gateway/constart-71freq-d601-v03.yaml#gateway.profile.nodeOps.publicUrl
freq71:
kind: jsonrpc-tcp
host: 192.168.0.154
port: 8000
role: frequency-controller
main41:
kind: jsonrpc-tcp
host: 192.168.0.151
port: 8000
role: main-controller
ioProbe: ioProbe:
uart: uart:
id: uart/1 id: uart/1
port: COM4 port: COM4
baudrate: 921600 baudrate: 921600
probes:
main41.ai0.current:
endpointRef: main41
quantity: current
unit: mA
path: hardware/ai/0
valuePath: ai_current_mA
nodeBinding: nodeBinding:
nodeId: node-d601-f103-v2 nodeId: node-d601-f103-v2
nodeType: pc-host nodeType: pc-host
@@ -212,7 +212,7 @@ CaseRun smoke 只要求证明 71-FREQ 最小硬件链路能通过 HWPOD 服务 r
71-FREQ 预装配置必须由 UniDesk YAML 承载,并通过 configRef 串联 node/lane、HWPOD spec、metadata、project-management source、gateway profile、public/API origin 和 Secret sourceRef。代码只负责解析、校验和渲染,不得内置 `D601``v03``constart-71freq-c``F:\Work\ConStart`、Keil 路径、COM 口、probe UID、board-comm IP、ioProbe id、旧 cloud URL 或 gateway/session id 作为 fallback。 71-FREQ 预装配置必须由 UniDesk YAML 承载,并通过 configRef 串联 node/lane、HWPOD spec、metadata、project-management source、gateway profile、public/API origin 和 Secret sourceRef。代码只负责解析、校验和渲染,不得内置 `D601``v03``constart-71freq-c``F:\Work\ConStart`、Keil 路径、COM 口、probe UID、board-comm IP、ioProbe id、旧 cloud URL 或 gateway/session id 作为 fallback。
HWPOD preinstall owning YAML 至少应声明 hwpodId、sourceRef、metadataRef、targetDevice、nodeBinding、workspaceRootRef、projectRoot、toolchain、debugProbe、uart、boardComm endpoints、ioProbe、ConfigMap 名称、mount path、environment key 和 rollout target。MDTODO source owning YAML 至少应声明 sourceId、sourceKind、projectId、hwpodId、nodeId、workspaceRootRef、mdtodoRootRef、focus files 和 hwpod node ops URL configRef。Gateway profile owning YAML 至少应声明 cloudUrl、gatewayId、sessionId、resourceId、capabilityId、secretRefs 和托管运行方式。 HWPOD preinstall owning YAML 至少应声明 hwpodId、sourceRef、metadataRef、targetDevice、nodeBinding、workspaceRootRef、projectRoot、toolchain、debugProbe、uart、boardComm endpoints、ioProbe、ConfigMap 名称、mount path、environment key 和 rollout target。71-FREQ 的 boardComm endpoints 必须显式包含 `freq71``main41`ioProbe 必须显式包含 `main41.ai0.current`,这些字段必须进入最终挂载给 cloud-api 的 `specDocument`,不能只停留在运维 YAML 的旁路摘要字段。MDTODO source owning YAML 至少应声明 sourceId、sourceKind、projectId、hwpodId、nodeId、workspaceRootRef、mdtodoRootRef、focus files 和 hwpod node ops URL configRef。Gateway profile owning YAML 至少应声明 cloudUrl、gatewayId、sessionId、resourceId、capabilityId、secretRefs 和托管运行方式。
### 6.2 HWPOD-PRE-REQ-002 Runtime discovery 与 HWPOD工具验证 ### 6.2 HWPOD-PRE-REQ-002 Runtime discovery 与 HWPOD工具验证
@@ -220,7 +220,7 @@ HWPOD preinstall owning YAML 至少应声明 hwpodId、sourceRef、metadataRef
| --- | --- | --- | --- | | --- | --- | --- | --- |
| HWPOD-PRE-REQ-002 | 运行发现 | PJ2026-0101030502 运行发现 | [HWPOD服务](PJ2026-010103-hwpod-service.md)、[HWPOD工具](PJ2026-010102-hwpod-tools.md)、[公开入口](PJ2026-010604-public-entry.md) | | HWPOD-PRE-REQ-002 | 运行发现 | PJ2026-0101030502 运行发现 | [HWPOD服务](PJ2026-010103-hwpod-service.md)、[HWPOD工具](PJ2026-010102-hwpod-tools.md)、[公开入口](PJ2026-010604-public-entry.md) |
HWLAB v0.3 cloud-api 必须从 runtime 挂载的 preinstalled HWPOD spec registry 发现 `constart-71freq-c`,并通过 `/v1/hwpod/specs``hwpod-ctl spec validate --hwpod-id constart-71freq-c``hwpod-ctl inspect` 等入口返回可审计摘要 HWLAB v0.3 cloud-api 必须从 runtime 挂载的 preinstalled HWPOD spec registry 发现 `constart-71freq-c`,并通过 `/v1/hwpod/specs``hwpod-ctl spec validate --hwpod-id constart-71freq-c``hwpod inspect --hwpod-id constart-71freq-c --dry-run` 等入口返回可审计摘要。该摘要必须能证明 ConStart root、projectRoot、Keil project、debug probe UID、`freq71``main41``main41.ai0.current` 均来自 YAML-first spec authority
cloud-api Pod manifest 必须包含只读 mount `/etc/hwlab/hwpod-specs` 或 YAML 声明的等价 mount,并设置 `HWLAB_HWPOD_SPEC_REGISTRY_DIRS` 指向该目录。spec discovery 可以继续支持 workspace-local `.hwlab/hwpod-spec.yaml` 和 registry dirs,但 D601/v03 71-FREQ 的 completion authority 必须是运行面挂载的 YAML preinstall,不是镜像内文件、旧 `.device-pod` profile 或旧 direct cloud URL。 cloud-api Pod manifest 必须包含只读 mount `/etc/hwlab/hwpod-specs` 或 YAML 声明的等价 mount,并设置 `HWLAB_HWPOD_SPEC_REGISTRY_DIRS` 指向该目录。spec discovery 可以继续支持 workspace-local `.hwlab/hwpod-spec.yaml` 和 registry dirs,但 D601/v03 71-FREQ 的 completion authority 必须是运行面挂载的 YAML preinstall,不是镜像内文件、旧 `.device-pod` profile 或旧 direct cloud URL。