R=执行 A=最终负责(每项恰好一人) C=需咨询 I=需知会
| 交付物 | PM | FW-A | FW-B | TOOL | WEB | QA |
|---|---|---|---|---|---|---|
| 分区表与硬件基线 | I | A/R | C | I | — | I |
| 引擎层 emlite + HAL | I | A/R | C | C | — | C |
| 策略层 Runtime | I | A/R | I | C | — | C |
| 宿主接口(USB/HTTP/串口) | I | C | A/R | C | C | C |
| 时序闭环 | I | A/R | C | I | — | C |
| 碎片与灌库 | I | R | A | R | C | C |
| EdgeMesh 协议 | I | I | A/R | C | C | C |
| .emf 打包器 / eme CLI | I | C | C | A/R | C | C |
| EdgeMemory Studio | I | I | C | C | A/R | C |
| 测试与验收 | A | R | R | R | R | R |
| ADR 与范围控制 | A/R | C | C | I | I | I |
投入:PM 0.5|FW-A 1.0|FW-B 1.0|TOOL 1.0|WEB 1.0|QA 0.5 = 5.0 人。398 × 1.3 ÷ 5 ≈ 104 工作日 ≈ 21 周。
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W0-01 | 源码树核对与真源确认 | 真源清单 | 确认 main/(14 个 .c)与 boards/ 为唯一真源;无第二副本在改 | FW-B | 1 |
| W0-02 | 构建环境与板级配置固化 | 环境脚本 | PowerShell 下 IDF_PATH 等四变量齐备;build_board.ps1 -Board all 两板均通过;两板形态标识正确固化(xiao → CONFIG_EMGW_FORM_GAMMA_CARD,devkit → CONFIG_EMGW_FORM_USB_DONGLE,ADR-018) | FW-A | 2 |
| W0-03 | USB 复合设备(CDC+MSC)冒烟 | 可枚举的复合设备 | PC 上 CDC 与 MSC 同时出现;HW-A4 通过 | FW-B | 3 |
| W0-04 | 裁剪 cam / mic / gps 及其命令 | 精简后的 main/ | 两板构建通过;固件体积下降约 115 KB | FW-B | 3 |
| W0-05 | 分区表改方案 B + 整片重烧 | 两份 CSV | sys.info 报 11.875 MB(B)/ 3.875 MB(A);改前已备份 Dev-B 现网 4343 条 | FW-A | 2 |
| W0-06 | 构建期槽位硬门槛 + .text 体积检查 | CI 门禁脚本 | 占用 >80% 告警、>90% 构建失败 | FW-A | 2 |
| W0-07 | CORS + OPTIONS 预检(板端) | http_srv 改动 | 浏览器可 fetch 到板子;TC-W-01 通过 | FW-B | 1 |
| W0-08 | 性能基线测量 | 基线报告 | PSRAM 可用量 / 4 KB 页读延迟 / 1 MB 顺序写耗时三项有实测值 | FW-A | 1 |
| W0-09 | 掉电台架(TS-2)搭建 | 台架 + 脚本 | 可随机切断供电并记录时刻,100 次可重复 | QA | 2 |
| WP0 小计 | 17 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W1-01 | em_flash_io 抽象 + PC 文件仿真 | 组件 + host 单测 | 引擎层单测可在 PC 上跑;可精确控制断电字节位置 | FW-A | 4 |
| W1-02 | 分区内部布局:superblock A/B + region table | 布局实现 | 双份交替写;启动时取 seq 大且 CRC 有效者 | FW-A | 5 |
| W1-03 | WAL 实现(环形 512 KB、tx_id、CRC32) | WAL 模块 | WAL 满时可安全回绕;单测覆盖边界 | FW-A | 8 |
| W1-04 | CoW 脏页跟踪 + abort 回滚 | 事务模块 | abort 耗时与脏页数成正比;P99 ≤ 2×P50 | FW-A | 6 |
| W1-05 | 原子提交 + 启动恢复(前滚 / 回滚) | 提交与恢复 | TC-N-08 通过(G7) | FW-A | 6 |
| W1-06 | 记录区 append-only 页链(改造 em_store.c) | 存储底座 | 4 KB 页对齐;em_kb_add/get/del 语义保持 | FW-A | 5 |
| W1-07 | 预分配内存池(malloc-free) | 内存管理器 | 运行期 malloc 计数 = 0(G3/G8) | FW-A | 5 |
| W1-08 | em_stat 与 store.map 同源输出 | 统计接口 | 一次调用返回 flash / KB / NVS / RAM / 账本 / 快照 | FW-A | 3 |
| W1-09 | HAL 接口定义与后端分派层 | edgehippom.h | 接口冻结;emdb 实现时上层零改动 | FW-A | 4 |
| W1-10 | ANN:IVF 聚类 + 建索引 | 索引构建 | 12,000 条建索引耗时可接受;簇大小分布均匀 | FW-A | 8 |
| W1-11 | ANN:graph 构建 + 查询(ef_search) | 检索实现 | P50<10 ms / P99<30 ms / P99÷P50<4(G2) | FW-A | 6 |
| W1-12 | 按簇顺序落盘(I/O 主导优化) | 落盘策略 | flush 抖动下降;P99 改善可量化 | FW-A | 4 |
| W1-13 | 混合过滤(结构化条件 + 时间窗) | 查询扩展 | TC-C-04 通过;matched_by 标注正确 | FW-A | 4 |
| W1-14 | 降维 / 量化实验(PQ / SQ) | 实验报告 | 判据:召回降 ≤5% 而容量升 ≥40% 则采纳 | FW-A | 4 |
| W1-15 | 时序区实测与容量回划 | 实测报告 | 确定 L1 实际占用;余量划回记忆库 | FW-A | 2 |
| WP1 小计 | 74 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W2-01 | 去重(余弦 > 0.95 合并) | 去重模块 | TC-C-05 通过;hit_count 累加 | FW-A | 4 |
| W2-02 | 冲突消解 | 消解规则 | TC-C-06 通过;旧条目降 prio | FW-A | 4 |
| W2-03 | 时效与过期 | TTL 模块 | 过期条目标记 DELETED;PINNED 不受影响 | FW-A | 3 |
| W2-04 | 容量压力与淘汰 | 淘汰策略 | >85% 触发,淘汰至 75%;TC-S3-07 通过 | FW-A | 4 |
| W2-05 | 优先级与 PINNED 标记 | 优先级模块 | PINNED 不参与遗忘与覆盖 | FW-A | 2 |
| W2-06 | 拒答与断网话术(P5 落地) | 话术模块 | TC-S1-06 / TC-S3-04 / TC-S3-05 通过 | FW-A | 4 |
| W2-07 | 策略配置与持久化 | NVS 配置 | 重启后策略参数保持 | FW-A | 3 |
| WP2 小计 | 24 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W3-01 | USB CDC 行协议接入 | CDC 通道 | WebUSB / Web Serial 可连通;命令集可用 | FW-B | 4 |
| W3-02 | USB MSC 虚拟盘 + .emf 拖入 | 拖文件灌库 | ≤60 s;LED 蓝快闪 → 绿常亮;错误包被拒 | FW-B | 6 |
| W3-03 | HTTP 端点新增(mem / frag / ts / store) | API 实现 | 与 02 号分册 8.2 节一致 | FW-B | 6 |
| W3-04 | CORS + OPTIONS 覆盖全部端点 | http_srv 改动 | 每个 /api/* 均可通过预检 | FW-B | 2 |
| W3-05 | 串口命令集新增(mem / ts / frag / edgehippom) | 命令实现 | 与 02 号分册 7.2 节一致 | FW-B | 5 |
| W3-06 | TCP_NODELAY + 响应合并 | 性能修复 | 10 fps 场景不再退化到 0.33 fps | FW-B | 1 |
| W3-07 | 固件 OTA 双槽验证 + KB-OTA dry=1 | OTA 通路 | 升级后已灌记忆完好;TC-W-28 通过 | FW-B | 4 |
| W3-08 | 设备 ID 改 EME- 前缀 | 标识改动 | 新发 EME-;旧 EMGW- 兼容识别 | FW-B | 1 |
| WP3 小计 | 29 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W4-01 | 合成数据源(CWRU 风格,seed 可控) | ts.script | 同 seed 逐字节可复现;三种速率可配 | FW-A | 5 |
| W4-02 | L0 PSRAM 环形缓冲 | 环形缓冲 | 10 s @ 4 kHz × 3 轴 = 240 KB;覆盖行为正确 | FW-A | 3 |
| W4-03 | 窗口特征化(时域 + 频域) | 特征模块 | 特征化耗时 < 单窗口时长 | FW-A | 5 |
| W4-04 | 特征 → 向量(确定性变换,非模型) | 向量化 | 不违反 ADR 原则②;无参数学习 | FW-A | 3 |
| W4-05 | L1 分钟聚合列存 | 列式存储 | 30 天保留;聚合查询正确 | FW-A | 4 |
| W4-06 | 闭环回写与验证脚本 | 闭环脚本 | TC-S1-07 通过(G4) | FW-A | 3 |
| WP4 小计 | 23 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W5-01 | .emf 解析与校验(头 / CRC / 版本) | 解析器 | TC-F-01/02/04 通过;错误包全被拒 | TOOL | 5 |
| W5-02 | 分块导入 + 断点续传 + 事务包裹 | 导入实现 | TC-F-07 / TC-W-26/27 通过;失败不破坏已有库 | FW-B | 6 |
| W5-03 | 碎片版本与覆盖策略 | 版本管理 | TC-F-05/06 通过 | FW-B | 3 |
| W5-04 | 导出与往返一致 | 导出实现 | TC-F-08 通过 | TOOL | 3 |
| W5-05 | 验收用例块(P4)读写 | 元数据块 | frag.verify 可读取 20 条用例 | TOOL | 2 |
| W5-06 | compact 与碎片整理 | 整理实现 | 满库 <30 s;TC-C-08 通过 | FW-A | 4 |
| WP5 小计 | 23 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W6-01 | S1 工业振动知识库构建(4 碎片 2,900 条) | S1 数据集 | 灌入成功;TC-S1-* 可执行 | QA | 3 |
| W6-02 | S2 野外巡检知识库构建(4,100 + 1,800 条) | S2 数据集 | Dev-A 占用约 50%,留有余量 | QA | 3 |
| W6-03 | S3 私域知识库构建(12,000 条满载) | S3 数据集 | 压在 G1 目标值上;TC-S3-* 可执行 | QA | 3 |
| W6-04 | 测试用例自动化脚本 | 自动化套件 | 覆盖约 70% 用例 | QA | 4 |
| W6-05 | 长稳与日志落盘 | 长稳脚本 | 7×24 h 可无人值守 | QA | 2 |
| W6-06 | 验收报告模板与数据收集 | 报告模板 | 与 05 号分册 11 章一致 | PM | 2 |
| W6-07 | 文档与代码注释同步 | 文档更新 | 命令集 / API 变更全部回写分册 | PM | 2 |
| WP6 小计 | 19 | ||||
| ID | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| W8-01 | 设备 ID 与能力通告(mesh.advert) | 通告模块 | TC-M-01 通过 | FW-B | 3 |
| W8-02 | 邻居表与 TTL | 邻居管理 | TC-M-02 通过 | FW-B | 3 |
| W8-03 | 消息 envelope 与错误码 | 协议层 | 与 03 号分册第 5 章一致 | FW-B | 3 |
| W8-04 | 配对与 token(mesh.pair) | 安全模块 | 未配对只放行 advert / pair | FW-B | 4 |
| W8-05 | M1 六原语时序 | 接力实现 | TC-M-03 通过 | FW-B | 8 |
| W8-06 | 分块传输 + CRC + 断传 | 传输层 | TC-M-04/05 通过 | FW-B | 5 |
| W8-07 | M2 中转代持与转发(hub.* 协议层能力,与板级形态无关) | 中转实现 | TC-M-06/07 通过 | FW-B | 5 |
| W8-08 | M3 离线投递 + .emr 回执 | 离线接力 | TC-M-08 通过 | FW-B | 5 |
| W8-09 | 账本实现与双向记账 | 账本模块 | TC-M-10 通过;误差 0 | FW-B | 5 |
| W8-10 | 对账与去重 | 对账实现 | TC-M-09 通过 | FW-B | 4 |
| W8-11 | 配额与速率限制 | 配额模块 | TC-M-12 通过;配额耗尽不得降级放行 | FW-B | 3 |
| W8-12 | 冲突消解与版本向量 | 一致性模块 | 同名高 ver 胜;M3 回执去重 | FW-B | 3 |
| WP8 小计 | 51 | ||||
| 段 | 任务 | 交付物 | 验收 | 负责 | 人日 |
|---|---|---|---|---|---|
| WP7-A | 连接层:四通道 + 状态机 + 设备卡片 | 连接页 | TC-W-01…08 | WEB | 28 |
| WP7-B | 碎片管理页 + 账本页 | 管理页 | 与 /api/frag/* 联调通过 | WEB | 22 |
| WP7-C | 五步向导 + 状态机(不依赖 emlite) | 向导页 | TC-W-09…16 | WEB | 20 |
| WP7-D | .emf 打包器 + P0–P5 集成(不依赖 emlite) | 打包器 | TC-W-17…22 | TOOL | 15 |
| WP7-E | 烧录通路:分块 / CRC / 断传 / 进度 | 烧录页 | TC-W-23…27(G5) | WEB | 30 |
| WP7-F | 固件更新页(OTA / 串口 / UF2) | 更新页 | TC-W-28 | WEB | 15 |
| WP7-G | 联调、兼容性、文档 | 发布件 | Chrome 最新版通过 | WEB | 8 |
| WP7 小计(31 子项) | 138 | ||||
| 工作包 | 人日 | 负责 | W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 W15 W16 W17 W18 W19 W20 W21 W22 W23 W24 |
|---|---|---|---|
| WP0 基线 | 17 | FW-A/B | ██ ██ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP1 引擎 | 74 | FW-A | ░░ ░░ ██ ██ ██ ██ ██ ██ ██ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP2 策略 | 24 | FW-A | ░░ ░░ ░░ ░░ ░░ ██ ██ ██ ██ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP3 接口 | 29 | FW-B | ░░ ░░ ░░ ░░ ░░ ░░ ██ ██ ██ ███ ███ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP4 闭环 | 23 | FW-A | ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ██ ███ ███ ███ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP5 碎片 | 23 | FW-B/TOOL | ░░ ░░ ░░ ░░ ░░ ░░ ██ ██ ██ ███ ███ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP8 网络 | 51 | FW-B | ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░░ ███ ███ ███ ███ ███ ███ ███ ███ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP7-C/D 向导+打包 | 35 | WEB/TOOL | ░░ ░░ ██ ██ ██ ██ ██ ██ ██ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| WP7-A/B/E/F 连接+烧录 | 103 | WEB | ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ██ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ░░░ ░░░ ░░░ ░░░ |
| WP6 场景 | 19 | QA | ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░░ ░░░ ░░░ ███ ███ ███ ███ ███ ███ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ |
| M7 验收 | — | 全体 | ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ░░░ ███ ███ ███ ███ ███ ███ |
██ = 该工作包在该周有实质投入;░░ = 无投入(或仅维护)。本表为节奏示意,实际排期以每周站会的任务看板为准。
| 工作包 | 硬依赖(必须先完成) | 可并行开始的条件 |
|---|---|---|
| WP1 引擎 | W0-05(分区表)、W0-08(性能基线) | — |
| WP2 策略 | W1-06(记录区)、W1-09(HAL) | HAL 有桩即可开始写规则 |
| WP3 接口 | W0-03(USB 冒烟)、W0-07(CORS) | 不依赖 WP1——可对 HAL 打桩先行 |
| WP4 闭环 | W1-11(ANN 检索)、WP2(策略) | — |
| WP5 碎片 | W1-05(事务) | 解析器(W5-01)可独立开工 |
| WP8 网络 | WP3(HTTP/串口)、W5-02(分块导入) | 账本(W8-09)可独立开工 |
| WP7-C/D | 无 | W3 立即开工 |
| WP7-A/E | W0-07(CORS)、WP3-03(HTTP API) | 连接层可对桩接口开发 |
| 流水线 | 内容 | 独立性 |
|---|---|---|
| P1 引擎线(FW-A) | WP0 → WP1 → WP2 → WP4 | 可在 PC 仿真上独立推进;不阻塞他人 |
| P2 接口线(FW-B + TOOL) | WP0 → WP3 → WP5 → WP8 | 对 HAL 打桩即可先行 |
| P3 工具体验线(WEB + TOOL) | WP7-C/D → WP7-A/B/E/F | 完全独立,最早出可视成果 |
| ID | 时点 | 出口判据 | 放行条件 | 不放行的动作 |
|---|---|---|---|---|
| M0 | W2 末 | 分区表生效;CDC+MSC 枚举成功;CORS 通;性能基线有数 | HW-A1…A4 通过 | 不得开始灌库 |
| M1 | W8 末 | G7(PC 仿真 100 次精确断电)+ G8 三项 | S1 缺陷 = 0 | 立即上报,启动回退评估 |
| M2 | W11 末 | G1 + G2 + G3 | S2 ≤ 3 且有时间表 | 不得对外披露容量数字 |
| M3 | W14 末 | G5 四通道 | 串口 ≤240 s 达标即算过 | 不得为凑 60 s 砍串口 |
| M4 | W16 末 | G4 闭环 | TC-S1-07 通过 | 不得宣称真实数据验证 |
| M5 | W18 末 | G9 账本与三模式接力 | TC-M-10 误差 0 | — |
| M6 | W20 末 | Studio 端到端成功率 ≥95% | 无 S1/S2 | — |
| M7 | W24 末 | G1–G9 全部 + 长稳 7×24 h + 硬件台架 G7 复测 | S1=0,S2≤3 | Go / No-Go 评审 |
| 工作包 | 任务数 | 人日 | ×1.3 缓冲 | 说明 |
|---|---|---|---|---|
| WP0 基线准备 | 9 | 17 | 22 | 零成本高杠杆(分区表 +61% 容量) |
| WP1 引擎 emlite + HAL | 15 | 74 | 96 | 技术核心,含 G7/G8 |
| WP2 策略 Runtime | 7 | 24 | 31 | 「记忆会挑」的实现 |
| WP3 宿主接口 | 8 | 29 | 38 | USB / HTTP / 串口 |
| WP4 时序闭环 | 6 | 23 | 30 | G4 |
| WP5 碎片与灌库 | 6 | 23 | 30 | G5 相关 |
| WP6 场景与测试支撑 | 7 | 19 | 25 | 三场景数据集 |
| WP8 EdgeMesh 网络 | 12 | 51 | 66 | G9 |
| WP7 EdgeMemory Studio | 31 | 138 | 179 | C/D 段可最早开工 |
| 合计 | 101 | 398 | 517 | 5 人投入 ≈ 21 周 |
| 范围 | 人日 | 能拿到的结论 |
|---|---|---|
| WP0 全部 | 17 | 物理边界成立 |
| WP1 中 W1-01…W1-13 | 62 | G7 / G8 / G1 / G2 / G3 |
| WP2 中 W2-01…W2-04 | 15 | 去重与容量控制阀 |
| WP3 中 W3-01/03/05/07 | 16 | 三条通路可用 |
| WP5 中 W5-01…W5-04 | 17 | .emf 灌库可用(G5) |
| WP6 中 W6-01…W6-03 | 9 | 三场景数据集就绪 |
| WP8 中 W8-01/05/09 | 16 | 最小接力 + 账本 |
| 固件侧最小集合计 | 152 | 足以判定 Go / No-Go |
| + WP7-C/D(可对外演示) | 35 | 早约 2 个月拿到演示品 |
| 含演示的最小集 | 187 | 2 人约 4.5 个月 / 3 人约 3 个月 |
| 节奏 | 内容 | 产出 |
|---|---|---|
| 每日 | 构建 + L1 PC 单测 + L2 门禁 | 绿色构建 |
| 每周一站会 | 三条流水线各自进度 / 阻塞 / 下周承诺 | 任务看板更新 |
| 每周五 | L3 板级冒烟(TC-C-01…08 + TC-F-01/04) | 冒烟报告 |
| 每两周 | 集成:三条流水线合一次固件并两板回归 | 可烧录产物 + 回归记录 |
| 每月 | 实测数据回填文档;更新「推算 vs 实测」对照 | 分册修订 |
| 里程碑 | 全量用例 + 判据核对 + 验收报告 | Go/No-Go 结论 |
main/)改动必须跑 build_board.ps1 -Board allsys.info 的 build_time,不靠构建退出码