---
name: defect-intake-rca
description: Use when 从显式缺陷 context package 评估 Nucleus V2 缺陷接入质量并生成 candidate-only RCA 证据。
---

# Defect Intake RCA

> 前置：使用本 Skill 前，先按 `using-nucleus` 完成 Nucleus 入口识别（Claude Code 会话由插件 SessionStart hook 自动注入该纪律）。

用于 Nucleus V2 缺陷受理 workflow 基线：在 Claude Code / Codex 内做缺陷受理质量评估和 RCA 候选证据生成。这是 coding-agent 插件运行时，不是 PMS 后端 workflow。

## 核心原则

缺陷受理和 RCA 只能生成可审查的质量评估与根因候选证据；它不能确认根因、修复代码、验证回归、关闭缺陷、创建 PR/MR 或推进 PMS 状态。

<HARD-GATE>
未创建宿主 todo/task 任务包，不得运行 `analyze` 或进入 result package。

缺少 `defectId`、`stage`、结构化复现、log / failing test / failed test report、primary feature 或 feature doc 时，不得生成 RCA candidate，必须先补齐缺陷上下文。

RCA candidate、review checklist、summary 或 result 不能替代人工 RCA review、根因确认、修复完成、测试通过或缺陷关闭事实。

到达 `rca-review` 人审点时，按 `_shared/references/subagent-precheck-protocol.md` 执行 `subagentPreReview` 子代理预审；未取得“材料可提交人工审查”结论前，不得请求人工 RCA review。
</HARD-GATE>

## Checklist

启动本 Skill 后，必须先为以下每一项创建宿主 todo/task，并按顺序执行；Codex 使用计划 / 任务工具，Claude Code 使用 TodoWrite 或等价宿主 todo。每完成、阻塞、等待人工补齐或等待 review 一项，都必须逐项更新状态；若等待项触达人审点，先完成 `subagentPreReview` 并确认材料可提交人工审查。

1. **读取缺陷上下文**：读取 `.nucleus/context/<workflowRunId>.json`、defect context artifacts 和 primary feature doc；缺关键输入时 `ALERT_AND_BLOCK`。
2. **创建宿主任务包**：把本 checklist 同步成当前会话的宿主 todo/task；未同步前不得生成 intake quality 或 RCA candidate。
3. **校验受理质量**：检查 defectId、stage、复现、日志或失败测试、session binding 和写入边界。
4. **补齐缺陷信息**：缺少关键上下文时，只呈现缺口并提出当前最关键补齐问题，按 `references/defect-info-request-format.md` 组织提问；没有明确补齐事实时 STOP。
5. **生成 intake quality 证据**：只写 `.nucleus/runs/<workflowRunId>/defects/intake-quality.*`，不得写源码、测试、PR/MR 或缺陷状态。
6. **生成 RCA candidate**：基于已验证上下文生成根因候选和 review checklist；candidate 仍是待审证据。
7. **等待 RCA review**：向用户或 PMS 呈现候选、非事实和待确认项；缺人工 review 时 STOP。
8. **写入结果证据**：构建 result package；`NEEDS_HUMAN_REVIEW` 不代表根因确认、修复完成、测试通过或缺陷可关闭。

## Runtime

```bash
python3 skills/defect-intake-rca/scripts/defect_intake_rca.py analyze \
  --repo-root <target-repo> \
  --context <target-repo>/.nucleus/context/<workflowRunId>.json
```

仅校验器使用的可选参数：

```bash
--candidate-output <target-repo>/.nucleus/runs/<workflowRunId>/defects/rca-candidate.json
```

## 必需输入

- 读取 `.nucleus/context/<workflowRunId>.json`。
- 要求 `workflow.workflowId=defect-intake-rca`。
- 要求 `defect.defectId`、`defect.stage` 和 `defect.dir`。
- 要求 `defect.stage` 为 `intake-quality` 或 `rca`。
- 要求结构化 `context.inputArtifacts[]` 包含复现证据，以及至少一个 log、failing test 或 failed test report。
- `defect.contextArtifacts[]` 只作为补充只读路径处理。
- 要求恰好一个 primary feature，`featurePath=docs/features/**/feature.md`，且该 feature doc 必须存在。

## 写入边界

只写：

- `.nucleus/runs/<workflowRunId>/defects/**`
- `.nucleus/runs/<workflowRunId>/result.json`

绝不写 `docs/requirement/**`、`docs/features/**`、`tests/**`、`.nucleus/tests/**`、源码、PR/MR 状态、commit、branch 或缺陷状态。

`NEEDS_HUMAN_REVIEW` 表示已生成待审候选。它不代表根因已确认、代码已修复、测试已通过或缺陷可关闭。

`FAILED_BLOCKED` 表示需要人工修复 context、artifacts、写入策略或 session binding 要求后重跑本 workflow。

不得导入根目录 `harness/`；运行时依赖必须打包在本 Skill 或 `skills/_shared/nucleus_runtime/**` 下。
