# 外部依赖与可切换替代 适用于默认真实可用结果模式,或用户明确要求按真实闭环规划时。 ## 与硬门禁的关系 外部依赖接入**未确认**(既未提供连接/密钥/材料,也未明确「暂不提供 / 用可切换替代」)时: 1. 说明各依赖用途并一次索取(或请用户声明暂不提供)。 2. **中断等待用户回复**。 3. **禁止**此时写入 `requirements.md`、`dependencies.md`、阶段总览、阶段任务清单,或在回复中输出完整规划/替代全文。 仅当用户已提供接入信息,或明确暂不提供之后,才允许继续规划并写目标记录、阶段总览、本轮阶段任务清单与 `dependencies.md`。 ## 识别与索取 识别本目标实际依赖,包括但不限于:数据源、算力与存储、通信与通知、支付与身份、密钥与证书、第三方接口、场地与设备、审批与权限、给定材料与样本。 | 情形 | 动作 | |------|------| | 用户未确认接入方式 | 中断;说明用途;索取接入信息,或请勾选暂不提供 | | 用户已提供接入信息 | 门禁项解除;dependencies 记「已提供」与接入要点 | | 用户明确暂不提供 | 门禁项解除;制定可切换替代并写入 dependencies;不得把主体主路径改成空壳演示 | ## 可切换替代边界 | 允许 | 禁止 | |------|------| | 仅替代所缺外部依赖侧(连接、协议、响应形态) | 替代本任务主体能力、主路径结果 | | 经配置切换「替代 ↔ 真实」 | 写死替代且无法切回 | | 形态尽量贴近真实依赖接口 | 用假结果宣称全程已闭环 | 原则: 1. 主体能力按真实结果交付;禁止用替代冒充主路径。 2. 替代尽量只覆盖依赖侧;经适配层隔离。 3. 获得真实接入后,应能配置切换或少量改接入即切到真实依赖。 4. 真栈验收:已提供真实接入的依赖必须走真实环境;仅对声明不提供的依赖走替代,并在说明中标明。 ## dependencies.md 必含项 | 项 | 说明 | |----|------| | 依赖名称与用途 | 为何需要、被哪些能力依赖 | | 接入信息状态 | 已提供 / 暂不提供 | | 已提供时的接入要点 | 地址、鉴权、环境区分(密钥可写引用位置,避免明文) | | 暂不提供时的替代方案 | 范围、启动方式、与真实差异 | | 切换方式 | 配置项、环境变量或适配开关与步骤 | | 验收注意 | 哪些核验须等真实接入后补跑 |