git:20260928.0bc633c to git:20261016.52cec8a

24 added, 13 removed. Audit A to A.

# Prompts Module Rules
## 范围与职责
- 适用于 `src/host/prompts/`。**提示词编写规范以同目录 `README.md` 为准**,只在需要编写或修改提示词内容时读取 README.md。
+ 适用于 `src/host/prompts/`。
- 作为全插件提示词组装的**唯一基线**:把编排事实与稳定模板结构组装成注入给模型的文本——父代理指令、子代理任务块、协作清单、规划提示词、运行期通知。
+ **所有提示词正文集中在 `texts/`**:一个注入场景 = 一个文件 = 一段从上到下的完整正文。
+ 本目录的其它 `.ts` 只做「事实 → 模板变量 → 渲染一次」,不存放正文片段,也不做跨文件拼装。
- 判断归属:该修改是否改变「注入给模型的文本如何由事实组装」?若是纯粹的 Agent 语义判断、工具 Schema / 可见性、或运行态事实,应放到对应模块。
+ 维护入口与变量语法见同目录 `README.md`(需要修改提示词时按需阅读)。
+ ## 维护方式
+
+ - **改提示词 = 直接改 `texts/` 下对应文件的正文**;不要再把正文拆成小段、用常量互相引用拼装。
+ - **允许不同场景的正文重复**:原「共享措辞与锚点单一源、变体之间不复制模板」约束已废除——
+ 它是组装化的成因,维护成本高于重复成本。
+ - 变量用 `{{name}}` 标出;可选段用 `{{#if name}}…{{/if}}`(支持嵌套);列表类内容由调用方先渲染成一段文本再传入。
+ - 模板文件头必须写明:适用场景、注入位置(system prompt / 用户消息 / 工具返回 / 消息投递)、变量表。
+ - 父代理三模式(纯编排 / 编排+自执行 / 纯执行)各一份独立文件,不用条件分支互相套用。
+
## 组装与依赖
- - 构建器是纯计算:入参即全部输入,同入参必同输出;图推导、节点上下文、预算口径等事实由调用方或本模块的纯计算提供,构建器不自行读图、读盘、读设置。
- - 动态值只允许出现在末段;不得把不稳定内容注入稳定前缀。
+ - 构建器是纯计算:入参即全部输入,同入参必同输出;渲染结果不得残留 `{{`(渲染器会抛错)。
+ - 本模块处于依赖链末端,不反向依赖运行时模块。
- ## 测试补充
+ ## 测试
- - 断言只引用导出的约束常量与段落锚点,不硬编码提示词正文文案:文案修订不应破坏基线测试。
- - 结构变更必须同步更新基线测试;禁止通过放宽断言掩盖输出变化。
+ - **正文与文案常量不做测试断言**:提示词会频繁修改,断言文案会让维护成本反噬。
+ - 只测机制与结构:渲染器行为(变量、可选块、残留检测)、数据是否进入输出、模式与通道差异、渲染幂等。
+ - 禁止为了通过测试而把正文片段抄进断言。
## 核心原则
- 1. 提示词基线单一来源;文案规范以 `README.md` 为准。
- 2. 输出即契约:结构可重构,但字节必须可证不变。
- 3. 纯函数:无时钟、无随机、无 IO、无隐式全局状态。
- 4. 共享措辞与锚点单一源,变体之间不复制模板。
- 5. 处于依赖链末端,不反向依赖运行时模块。
+ 1. 正文集中在 `texts/`,一场景一文件;打开文件即见完整全貌。
+ 2. 组装退化为一次渲染,不拼小段。
+ 3. 允许重复,换取可读与可维护。
+ 4. 纯函数:无时钟、无随机、无 IO、无隐式全局状态。
+ 5. 正文不进断言。