---
name: result-package-build
description: Nucleus V2 baseline result package builder. Use when a workflow needs to build schema-valid .nucleus/runs/<workflowRunId>/result.json from context, gates, blockers, and current step status.
---

# Result Package Build

本 Skill 负责 Nucleus V2 baseline 的 result package 构建。它只生成 `.nucleus/runs/<workflowRunId>/result.json`，不执行 workflow runner、不提交、不推送、不回写 PMS。

## 子命令

```bash
python3 skills/result-package-build/scripts/result_package_build.py build \
  --repo-root <target-repo> \
  --context <target-repo>/.nucleus/context/<workflowRunId>.json \
  --status FAILED_BLOCKED \
  --current-step context-validation \
  --gate-report <target-repo>/.nucleus/runs/<workflowRunId>/context-validation-gate.json \
  --blocker-json <target-repo>/.nucleus/runs/<workflowRunId>/blockers.json \
  --session-binding-report <target-repo>/.nucleus/runs/<workflowRunId>/session-binding/session-binding-report.json
```

## 输入

- schema-valid context。
- 当前 step 和目标 status。
- 可选 gate report。
- 可选 blockers JSON，格式可以是 list 或 `{ "blockers": [...] }`。
- 可选 session binding report；只白名单复制 `sessionBinding` 字段，并追加 `session-binding-gate` 和 blockers。

## 输出

- 固定写 `.nucleus/runs/<workflowRunId>/result.json`。
- 输出必须符合 `Nucleus.result.v1`。
- 当 status 为 `FAILED_BLOCKED` 或存在 blockers 时，命令非零退出，方便宿主阻塞。
- 最终 status 由 builder 根据 blockers 和 blocking gate 推导；不会合并 report 中的 status、summary、nextActions 或 `resultPackagePatch`。

## 边界

- result path 必须在 `.nucleus/runs/<workflowRunId>/result.json`。
- `.nucleus/**` 目录和 run 目录不得是 symlink 越界。
- 不 import 根 `harness/`，只使用随 Skill 分发的 `_shared/nucleus_runtime`。
- 不写 `docs/requirement/**`，不生成 PMS 状态结论。
