---
name: pre-coding-clarification
scope:
  - '*'
products:
  - '*'
id: ka-procedure-编码前澄清流程
asset_kind: procedure
lifecycle_status: active
authority: supporting
owner_mechanism_id: mc-core-engineering-principles
routes:
  - code_change
primary_triggers:
  - 编码前澄清流程
secondary_triggers: []
negative_triggers: []
priority: P1
specificity: 5
consumes:
  - mc-core-engineering-principles
emits:
  - input_completeness_report
  - assumption_record
required_evidence:
  - execution_evidence
version: 1.1.0
last_reviewed: '2026-06-01'
type: procedure
when: 编码前澄清流程
stages: ["任务规划"]
---
# 编码前澄清流程

## 适用场景

- code_execution / multi_stage_plan / single_artifact 路由
- 写入 scope 涉及业务源码
- 存在外部副作用

## 流程

### 1. 输入完整性检查

执行前必须确认以下输入:
- 用户目标是否明确（非模糊描述）
- 写入 scope 是否确定
- 是否涉及外部副作用（命令执行、网络请求、文件系统写入）
- 是否涉及破坏性操作

### 2. 不确定性分级

对每个不确定项分级:
- **blocking**: 不问不能继续 → 必须向用户提问
- **material**: 可先推进但需记录假设 → 记录为 AssumptionRecord
- **minor**: 可合理默认 → 在结果中说明
- **non_blocking**: 不打断执行

### 3. 澄清问题最小化

- 只问阻塞项，不把非阻塞细节抛给用户
- 每个问题必须有明确的 blocking 理由
- 不能把 blocking 不确定伪装成 assumption

### 4. 假设记录

- material 级不确定必须记录为 AssumptionRecord
- 记录内容: 假设内容、分级、依据、是否需要人工确认
- blocking 级假设必须标记 needs_manual_confirm=true

### 5. 输入完备报告

完成澄清后生成 InputCompletenessReport:
- 已明确的输入项
- 已记录的假设
- 剩余不确定项及其分级
- 是否可以开始执行

## 硬阻断

以下情况必须阻断，不得继续:
- 缺少必要输入
- 写入 scope 不明确
- 外部副作用未获授权
- 存在未解决的 blocking 级不确定
