# R3 任务报告

## 目标

解决 UniDesk #2170，使“YAML 引用的密钥在哪里、如何修改”类问题只读取 `unidesk-ymalops` 与 owning YAML 即可回答并停止。

## 变更

- 在 `.agents/skills/unidesk-ymalops/SKILL.md` 前置配置引用快速路径、停止条件和 Secret 分发受控入口。
- 在 `docs/reference/yaml-first-ops.md` 建立唯一详细合同，固定 `sourceRef`、`sourceKey`、`targetKey`、`configRef` 和 `transform` 的含义与回答模板。
- 明确禁止从 `@`、`:` 等字符串形态猜测用户名或密码，也禁止为定位问题反查源码、数据库、Pod Secret、环境变量、日志或运行面。

## 最小 smoke

只读取以下两个输入：

1. `.agents/skills/unidesk-ymalops/SKILL.md` 的“配置引用问题快速路径”；
2. `config/pikaoa.yaml#releaseRuntime.targets.NC01.runtime.administrator.password`。

得到的脱敏答案为：owning YAML 是 `config/pikaoa.yaml`；管理员用户名由同级 `username` 声明；密码修改源由 `sourceRef` 声明；运行时接收键由 `targetKey` 声明；目标还通过 `secret.configRef`/`declarationId` 选择 Secret 分发，修改后走 `secrets sync` 受控入口。无需读取 PikaOA 源码、数据库或 Kubernetes Secret。

验证命令：

```bash
git diff --check
sed -n '/配置引用问题快速路径/,/## Scope/p' .agents/skills/unidesk-ymalops/SKILL.md
sed -n '293,302p' config/pikaoa.yaml
```

结果：通过；输出只包含路径、用户名和键名，没有读取或打印 Secret 值。

## 边界与风险

- 本任务不修改产品源码、YAML 数值、Secret 来源内容或运行面。
- 相对 `sourceRef` 的解析基准若未由 owning YAML 明确，仍允许定点读取领域 parser；这是唯一需要额外读取的例外。
- 领域存在专用 Secret CLI 时，以领域 skill 声明的入口为准。
