feat(dsh): spawn_teammate 角色 persona 自动注入 + 测频带外饱和边界登记
一、子 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)。
This commit is contained in:
@@ -259,6 +259,7 @@ docs/
|
||||
|---|---|
|
||||
| [`项目部署环境要求.md`](环境与部署/项目部署环境要求.md) | 开发机软件环境、目标板资源预算、现场部署与验收步骤 |
|
||||
| [`并行任务工作树方案.md`](环境与部署/并行任务工作树方案.md) | **多任务并行开发机制**:`git worktree` 隔离、目录与共享/独占分配(junction 规则)、`task-worktree` SKILL 命令面(`@task` 仅为文档别名,显式调用 `/task-worktree`)、单写者文档与合并残留审计、台架锁;**已落地并端到端实测**(见其 §11) |
|
||||
| [`子Agent角色自动注入实现说明.md`](环境与部署/子Agent角色自动注入实现说明.md) | **`spawn_teammate` 角色 persona 自动注入的实现参考 + 排障参照**(宿主 0.2.2-rc.1 + 2026-11-13 台架实证快照):事件面事实(两参回调/子会话时序/lead 侧接力)、工具白名单降级、兜底与去重、失败模式史、部署生效链(pnpm file: 拷贝陷阱)、诊断日志排障速查;使用侧在 `.dsh/roles/README.md` |
|
||||
| [`CI/README.md`](CI/README.md) | **远程 CI(Gitea Actions)唯一入口**:服务端开关 / runner 部署与保活 / workflow / 排障。**只涉及本机一台 runner `win-stm32-ci`,其他机器与项目都不涉及**;日常改代码用本地门禁 `scripts/ci_local.py`,不必读这里 |
|
||||
|
||||
### 9.3 台账与外部资料
|
||||
|
||||
Reference in New Issue
Block a user