diff --git a/docs/MDTODO/details/hwlab-web-product-experience/R1.2_Task_Report.md b/docs/MDTODO/details/hwlab-web-product-experience/R1.2_Task_Report.md new file mode 100644 index 00000000..5f08fe62 --- /dev/null +++ b/docs/MDTODO/details/hwlab-web-product-experience/R1.2_Task_Report.md @@ -0,0 +1,15 @@ +# R1.2 任务报告 + +## 结论 + +- 已建立工业控制台设计 tokens、响应式 AppShell、导航和有界工作区,保持 Workbench 主工作流不回退。 +- 已抽取 PageCommandBar、StatusStrip、DataGrid、VirtualList、ResourceCollection、EntityCard、BaseDialog、BaseDrawer、Popover、ContentViewer、AsyncBoundary 与 URL view state。 +- 统一弹层焦点/滚动锁、键盘与 ARIA 基线、reduced-motion、桌面/紧凑桌面/移动端布局和卡片/列表/密度切换合同。 +- 样式按职责拆分,变更文件满足体积治理。 + +## 交付证据 + +- HWLAB PR:。 +- 实现提交:`94a4b12e`;v0.3 合并提交:`63a5cfff`。 +- 验证:共享组件 Vitest 5/5、Playwright 3/3、类型检查和生产构建通过。 +- 执行 issue:。 diff --git a/docs/MDTODO/details/hwlab-web-product-experience/R1.3_Task_Report.md b/docs/MDTODO/details/hwlab-web-product-experience/R1.3_Task_Report.md new file mode 100644 index 00000000..d2eac534 --- /dev/null +++ b/docs/MDTODO/details/hwlab-web-product-experience/R1.3_Task_Report.md @@ -0,0 +1,15 @@ +# R1.3 任务报告 + +## 结论 + +- 已补 HWPOD typed topology read model,统一 node、HWPOD、连接、readiness、busy、mismatch、最近 operation 与最近探测证据。 +- 常规读取不触发探测;仅显式“重新探测”执行有界顺序 probe;失败时保留最近成功快照并表达 partial/stale。 +- 已补服务端搜索、排序、cursor/previousCursor/nextCursor 和稳定设备、节点详情深链。 +- 微服务评估结论为暂不拆独立 HWPOD 服务:当前 Cloud API 仍是同源 BFF/read model owner;只有出现独立生命周期、数据所有权与故障域证据后再按 SPEC 抽离,避免为了页面改造制造分布式耦合。 + +## 交付证据 + +- HWLAB PR:。 +- 实现提交:`652f1f9c`、`2ec436a8`;v0.3 合并提交:`7201bde6`。 +- 后端契约测试:17/17 通过。 +- PaC PipelineRun:`hwlab-nc01-v03-ci-poll-d7xwt`,source `7201bde699fb`,Completed,delivery valid/source matched。 diff --git a/docs/MDTODO/details/hwlab-web-product-experience/R1.5_Task_Report.md b/docs/MDTODO/details/hwlab-web-product-experience/R1.5_Task_Report.md new file mode 100644 index 00000000..e93c143e --- /dev/null +++ b/docs/MDTODO/details/hwlab-web-product-experience/R1.5_Task_Report.md @@ -0,0 +1,15 @@ +# R1.5 任务报告 + +## 结论 + +- 已重写 HWPOD“设备资源”子标签,设备卡片与高密度列表消费同一 typed topology inventory。 +- 电路板 SVG 卡片呈现设备身份、node、状态、busy/blocker、能力和最近 operation;target、workspace、debug、io 四条链路仅由真实状态驱动克制动效。 +- 支持 reduced-motion、搜索/状态筛选/排序/cursor、卡片/列表、密度、详情 Drawer 和 REST 深链。 +- 卡片在宽屏保持有界,不再随视口无限放大;960px 与约 390px 不产生文档级横向溢出。 + +## 交付证据 + +- HWLAB PR:。 +- 执行 issue:。 +- 截图证据:`/tmp/hwlab-2516-devices-bounded-1920x1080.png`。 +- HWPOD 前端共享回归 5/5、生产构建和浏览器多视口验收通过。 diff --git a/docs/MDTODO/details/hwlab-web-product-experience/R1.6_Task_Report.md b/docs/MDTODO/details/hwlab-web-product-experience/R1.6_Task_Report.md new file mode 100644 index 00000000..5feb05a1 --- /dev/null +++ b/docs/MDTODO/details/hwlab-web-product-experience/R1.6_Task_Report.md @@ -0,0 +1,15 @@ +# R1.6 任务报告 + +## 结论 + +- 已新增 HWPOD Node 与节点接入子标签,展示已连接和声明离线 node、平台/版本/心跳、能力、in-flight、readiness、诊断及其挂载的零到多个 HWPOD。 +- Node 集合支持卡片/列表、URL 搜索/筛选/排序/cursor、REST 详情深链和渐进披露 Drawer,不再静默首选第一台节点。 +- 接入页提供 Python 单文件 `tools/hwlab-node.py` 的静态下载元数据、版本、大小、SHA、更新说明和安装条件。 +- 引导按 downloaded→installed→desktop-visible→registered→workspace-ready→hwpod-ready 六阶段展示;凭据继续由既有 YAML sourceRef/受控 CLI 管理。 + +## 交付证据 + +- HWLAB PR:。 +- Python artifact 通过 `py_compile`,下载/更新 metadata 合同通过后端测试。 +- 截图证据:`/tmp/hwlab-2516-nodes-compact-status-960x600.png`、`/tmp/hwlab-2516-onboarding-960x600.png`。 +- 直接 node/device 深链、显式 probe、无选择接入页和多视口浏览器验收通过。 diff --git a/docs/MDTODO/hwlab-web-product-experience.md b/docs/MDTODO/hwlab-web-product-experience.md index fa885114..7a7f31c7 100644 --- a/docs/MDTODO/hwlab-web-product-experience.md +++ b/docs/MDTODO/hwlab-web-product-experience.md @@ -19,11 +19,11 @@ 完成 UniDesk OA SPEC 对齐与产品架构定锚:盘点非 Workbench 全路由、用户旅程、实体 ID、navId/ACL、DTO/API、深链、页面状态和原入口,以 HWLAB L0“云端硬件研发闭环”、Cloud 阶段“多人多端开箱即用/硬件接入”及各 L1/L2 职责判定页面主责、缺口和优先级;确认需新增或修订的 SPEC、架构图、数据流、时序和验收矩阵后再实现。依赖:无,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.1_Task_Report.md)。 -### R1.2 [in_progress] +### R1.2 [completed] 依赖 R1.1,建立 HWLAB Cloud Web 工业设计系统与通用前端层:tokens、响应式 AppShell、PageCommandBar、StatusStrip、DataGrid/VirtualList/ResourceCollection、工业实体卡片、图标/列表或密度切换、Dialog/Drawer/Popover、Log/Markdown/JSON/Trace Viewer、AsyncBoundary、Inspector 与 BoundedWorkspace;统一 URL view state、键盘/ARIA、reduced-motion、响应式和大数据有界行为。执行见[HWLAB #2515](https://github.com/pikasTech/HWLAB/issues/2515),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.2_Task_Report.md)。 -### R1.3 [in_progress] +### R1.3 [completed] 依赖 R1.1,可与 R1.2 并行;按硬件池、Agent编排、HarnessRL、客户端、用户管理和平台运维主责补齐 typed DTO、BFF/read model、服务端搜索/排序/cursor、详情与日志/operation 查询。评估抽取 hwlab-hwpod-service 统一 HWPOD registry、node connection、拓扑、operation 和诊断;Cloud API 只保留同源鉴权/路由/correlation,项目与用户事实继续归既有服务,拆分前先更新对应 SPEC,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.3_Task_Report.md)。 @@ -31,11 +31,11 @@ 依赖 R1.2、R1.3,重写全站应用壳、登录、注册和 404:导航按用户工作流组织,保留或原子迁移 navId/ACL、同源 HttpOnly 会话与安全 redirect;桌面、紧凑桌面和移动端都有明确导航、上下文、命令区和滚动所有者。联动修正 UniDesk HWLAB 外链壳的硬编码 IP,使其从受控配置解析正式入口;共享壳变更不得改写或回退 Workbench 主工作流,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.4_Task_Report.md)。 -### R1.5 +### R1.5 [completed] 依赖 R1.2、R1.3,重写 HWPOD“设备资源”子标签:以 typed inventory 展示 HWPOD 四要素、node、声明/实际能力、可用/占用/busy、主要 blocker 和最近 operation;同源支持电路板 SVG 图标卡片与高密度列表。四条链路分别表达 target/workspace/debug/io,仅真实连接、in-flight 或 mismatch 驱动克制动效,并完整支持 reduced-motion、详情深链和渐进披露 Inspector。执行见[HWLAB #2516](https://github.com/pikasTech/HWLAB/issues/2516),完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.5_Task_Report.md)。 -### R1.6 +### R1.6 [completed] 依赖 R1.2、R1.3,与 R1.5 协同重写“HWPOD Node”和“节点接入”子标签:管理已连接及声明离线 node,展示平台、版本、心跳、能力、in-flight、诊断和其挂载的零到多个 HWPOD;网页消费 update/download 元数据下载 Python 单文件,展示版本、大小、SHA 和安装条件。按 downloaded→installed→desktop-visible→registered→workspace-ready→hwpod-ready 分阶段引导,凭据仍只走 YAML sourceRef/受控 CLI,完成任务后将详细报告写入[任务报告](./details/hwlab-web-product-experience/R1.6_Task_Report.md)。