9f68b7bc03
一、子 Agent 角色自动注入(本批主线) dsh-plugin-subagent-roles fork(仓库 .dsh/plugins/)新增事件路径注入: spawn_teammate 的 prompt 首行写 @role:<角色id>,插件在子会话首轮模型 请求组装之前把 .dsh/roles/<id>.md 的 persona 注入其系统提示词,并应用 工具白名单。此前只有 subagent_role 路径自动注入,team 路径需 Lead 手工 拼接 persona,本批把两条路径拉齐。 实现要点(细节见 docs/环境与部署/子Agent角色自动注入实现说明.md): - 在 lead 会话的 tool/call(spawn_teammate) 截获 @role 标记,在 subagent/catalog 拿 childId 后经 agents.get(childId) 注入——子会话侧 user/message 必然晚于首轮 system/message,只能在 lead 侧接力。 - tools.restrict() 只校验全局工具名,ops_* 等作用域工具混入会整批抛错; 降级为解析报错尾部 known global tools 求交集后重试。 - 保留子会话 @role 标记兜底路径(第 2 步起生效)+ 双去重集合。 - 诊断日志 ~/.dsh/role-inject-diag.log,一次健康注入 4 行。 配套文档与口径: - 新增 docs/环境与部署/子Agent角色自动注入实现说明.md(实现参考 + 排障速查,9 章),docs/README.md 索引挂载。 - AGENTS.md 委派策略改为自动注入口径(无需手工拼接)。 - .dsh/roles/README.md 删去"调用预算"列:budget.js 的 arm() 只由 subagent_role 委派路径调用,teammate 路径不挂账,原列是假上限承诺; 改加脚注指向实现说明 §1.1。 二、测频幅值门放宽至 5 V + 带外饱和边界登记(freq.h) - FREQ_AMP_MIN 50 V -> 5 V(用户裁定 2026-11-13):台架低端注入(标定 用 5~25 V 档)与低负荷工况也能测频;浮空二次域噪声几十 mV,仍差两个 数量级,噪声不测频的本意不变。 - 注释同步登记:IA 回退候选同拿 5.0 比较,二次电流 0.5~2 A 够不到 "5 A",只注电流实际不回退测频(电流域门限另裁);窗环钳位区间 [72,96] 只对 41.7~55.6 Hz 满足整倍条件,带外读数饱和钉沿。 - docs/算法/采集与算法层设计说明.md 新增 §7.3 准确测频带与带外饱和 (60 Hz 实证钉 ~55;用户裁定不改参数,只登记边界)。 验证:/keil-build 0 错误 0 警告(Code=256592 RO=32036 RW=2088 ZI=152584);pre-commit 52 钩子全绿(含 3 根 manual 阶段:cppcheck、 test-cppcheck、test-coverage)。