--- name: context-pack description: 交付期第 8 步,前置消熵:整程开工前派便宜子代理整理上下文包、主代理自己做关键模块的细化设计与技术验证;每切片开工前做开工包:上下文增量、技术设计与验证、细化推进方案、里程碑待办清单。spec 与 plan 写好之后、每个切片动手之前,或人说「整理上下文」「开工包」时加载。切片已开工不加载;写 spec 与 plan 归 spec-and-plan。 --- # 前置消熵 把不确定性从「实施时才发现」搬到「动手前就消除」。信息包一次整理,之后只增补。里程碑清单让进度可见,回看时不用重读整段实现。 ## 两个尺度 | 尺度 | 什么时候 | 谁做 | 产出 | | --- | --- | --- | --- | | 整程包 | spec 与 plan 写好之后、第一个切片开工之前 | 便宜的子代理整理,主代理做关键设计与技术验证 | [整程上下文包](run-pack-template.md) | | 切片开工包 | 每个切片开工之前 | 上下文增量由便宜的子代理,其余三样主代理 | plan 里该切片下的[开工包四节](slice-kickoff-template.md) | ## 整程包 整程包是主代理和每个子代理整程共用的事实清单,纯文本,不依赖会话记忆。派便宜的子代理整理时,派发理由是防主上下文膨胀:读很多文件的活不进主上下文。简报按 `delegate-brief`,只读,交回整程包文件。 整程包固定五节: 1. 不变式:spec 不变式对照里的每条,原文加出处。 2. 系统地图:本程涉及的领域、它们的边界与接缝,一张图加一段话。 3. 先读什么,读到哪停:每项写文件与行范围、为什么读、读到哪里停;再写不要读什么。读多了会扩大范围。 4. 最容易踩的耦合:哪条轴不能决定哪条轴,哪个外域概念不能进本域契约。 5. 接入点:本程要用的项目命令与位置,从消费者 AGENTS.md 的「pqw-skills 接入」一节抄来。 写不出的项写「未知」,不猜。整程包里引用的每个文件都在起点提交上存在。 主代理在整程包交回后自己做两件事,不派:关键模块的细化架构设计(类型、签名、边界,加载技能 `pstack:architect`),以及必要的技术验证。技术验证用抛弃式原型回答一个具体问题,加载技能 `mattpocock-skills:prototype`;原型不进仓库。 ## 切片开工包 四样齐了才动手。写进 plan 该切片的下面,不另开文件。 | 项 | 内容 | 谁做 | | --- | --- | --- | | 上下文增量 | 这个切片额外需要的:涉及的文件与契约、相邻切片留下的事实、整程包里没有的。只写差额,不重抄整程包 | 便宜的子代理,或读量小时主代理自己 | | 技术细节设计与验证 | 开头三问各一行;碰到状态与操作时先全化;这个切片的领域模型与对象模型(本片新增或改动的聚合、值对象、类型、签名、模块边界、关键算法),碰到形式化过的区域时补全精化对照表;动手前按 `detailed-domain-design`「方案论证」论证一遍,论证不过不动手,深度跟本片工作量走;有疑点的先用抛弃式原型验证;写明收口要守的关键位置(收口只对它们做结构读数与差分变异,整程全量留到交付前一次,与信息包的全量在前、增量在后正好反过来) | 主代理 | | 细化的推进方案 | 把 plan 里这一片的一句话展开成有序步骤,分两轮:先改什么、测什么、什么时候合回、什么时候派子代理 | 主代理 | | 里程碑待办清单 | 切片内有里程碑性质的待办,每条可勾选、有完成判据;哨兵和汇报件读它判断进度 | 主代理 | 切片完成时把清单勾完,没勾完的说明原因。 开工包里有几处要用思维模型,填到那一栏时各过一遍: - 「技术细节设计与验证」开头三行。先答三问:应然、实然、差异。做法加载技能 `think-ought-vs-is`。 - 碰到状态与操作时写「全化表」一行,再写领域模型与对象模型;不碰写「不涉及状态」。先把状态与操作写成偏函数并全化,再翻成领域模型与对象模型。做法加载技能 `think-model-first`。 - 推进方案与里程碑分「做对」「做好一轮」两步。先做对,再单独做好一轮。做法加载技能 `think-right-then-well`。 - 「关键位置」按错了代价大的几条轴逐条问本片碰没碰到:判据与不变式守护点、状态转移、并发、失败与清理分支、对外契约边界。先拆出独立变化的轴,交叉成表逐格看。做法加载技能 `think-orthogonal`。 ## 守住上下文窗口 大输出、长文件、重复读取、扇出规划都往子代理送,主上下文只留结论。自己读时,互不依赖的读取在同一步里一起发出。加载技能 `pstack:principle-guard-the-context-window`。上下文被压缩之后,先从 plan 的进度总览、整程包和自己的提交历史重建现状,再继续,加载技能 `pstack:recall`。 整程包与开工包是写给压缩后的自己的简报:压缩也是一次转手,要它记得的写进文件。转手会丢信息,回路越紧越稳,一块多大由接的一方验得完多少定。做法加载技能 `think-closed-loop`。 ## 判据 - 整程包的每条事实有出处,没有「如前所述」「按我们讨论的」。 - 开工包四节都有内容,推进方案是有序步骤,里程碑每条有完成判据。 - 一个没有本次上下文的会话只拿整程包和开工包,能答出从哪个提交开工、能改什么、做到什么算完、关键事实的出处。