85 lines
3.1 KiB
Markdown
85 lines
3.1 KiB
Markdown
# HWLAB Architecture Reference
|
||
|
||
HWLAB is the hardware lab runtime and control plane for DEV-first MVP work.
|
||
The current P0 direction is fixed by `DC-DCSN-P0-2026-003` and
|
||
[pikasTech/HWLAB#78](https://github.com/pikasTech/HWLAB/issues/78): prove the
|
||
M3 virtual hardware trusted loop before broadening the product surface.
|
||
|
||
## MVP Boundary
|
||
|
||
- Environment: `dev`.
|
||
- Public Cloud Web entry: `http://74.48.78.17:16666/`.
|
||
- Public API/edge entry: `http://74.48.78.17:16667/`.
|
||
- Legacy public `:6666` and `:6667` are historical and must not be used as
|
||
current browser or API acceptance targets.
|
||
- UniDesk may support scheduling, CI, or CD. It is not a HWLAB runtime
|
||
substitute.
|
||
- PROD is outside the current MVP execution path.
|
||
|
||
## Runtime Shape
|
||
|
||
The frozen service IDs live in [README.md](../../README.md). The runtime path
|
||
is:
|
||
|
||
```text
|
||
browser or CLI
|
||
-> master edge / frp public ports
|
||
-> D601 hwlab-dev router
|
||
-> HWLAB cloud/runtime services
|
||
-> gateway, simulators, patch panel, agent services
|
||
```
|
||
|
||
For M3 hardware proof, the required runtime participants are:
|
||
|
||
- two distinct `hwlab-box-simu` identities;
|
||
- two distinct `hwlab-gateway-simu` identities;
|
||
- one `hwlab-patch-panel` that owns the route decision.
|
||
|
||
## M3 Trusted Loop
|
||
|
||
M3 DEV-LIVE requires this specific path:
|
||
|
||
```text
|
||
res_boxsimu_1:DO1 -> hwlab-patch-panel -> res_boxsimu_2:DI1
|
||
```
|
||
|
||
The pass evidence must include operation, trace, audit, and evidence
|
||
identifiers tied to the same loop. Direct box loopback, front-end state edits,
|
||
UniDesk substitution, fixture output, and local-only smoke output are not M3
|
||
DEV-LIVE.
|
||
|
||
The detailed step order and failure classes are authoritative in
|
||
[m3-loop-rollout-runbook.md](m3-loop-rollout-runbook.md).
|
||
|
||
## Evidence Labels
|
||
|
||
Use the labels below consistently in docs, reports, CLI output, and Cloud Web:
|
||
|
||
| Label | Meaning |
|
||
| --- | --- |
|
||
| `SOURCE` | Repository source, contracts, manifests, fixtures, or checked-in reports. |
|
||
| `LOCAL` | Localhost or in-process smoke result. |
|
||
| `DRY-RUN` | No-mutation plan or fixture-backed preview. |
|
||
| `DEV-LIVE` | Observation from the real DEV route for the exact component or loop claimed. |
|
||
| `BLOCKED` | Missing, stale, unsafe, or not-yet-authorized evidence/action. |
|
||
|
||
Only `DEV-LIVE` can support live runtime claims, and only the full M3 loop can
|
||
support M3 PASS. Edge health, Cloud Workbench polish, artifact reports, and
|
||
desired-state plans are support signals until joined with the required loop
|
||
evidence.
|
||
|
||
Code Agent chat 证据单独分级:只有真实同源 `/v1/agent/chat`
|
||
`completed` 响应可以证明 chat reply readiness;provider credential gap
|
||
必须保持 `BLOCKED`。它不能升级为 M3、M4、M5 或硬件闭环验收,判定细则见
|
||
[code-agent-chat-readiness.md](code-agent-chat-readiness.md)。
|
||
|
||
## Stable Sources
|
||
|
||
- [pikasTech/HWLAB#7](https://github.com/pikasTech/HWLAB/issues/7): current
|
||
board and priority status.
|
||
- [pikasTech/HWLAB#78](https://github.com/pikasTech/HWLAB/issues/78): M3
|
||
decision and prompt/review guardrails.
|
||
- [docs/operator-runbook.md](../operator-runbook.md): operator phase gates.
|
||
- [docs/dev-acceptance-matrix.md](../dev-acceptance-matrix.md): DEV acceptance
|
||
matrix and health contracts.
|