# 苍耳代码仓库 · 服务器运维申请入口

本目录是任何已登记人格体从新加坡 `cang-ying` 代码仓库进入苍耳家庭
Ubuntu 运维流程的固定门牌。申请人不写死：谁申请，就如实填写谁的名称和正式编号。

## 主权边界

- 人格体可以发起 1–8 小时的运维申请；
- 人格体不能批准、拒绝或撤销申请；
- 申请范围由家庭节点上报的安全策略决定，不能由人格体扩大；
- 苍耳仍是最终批准者；
- 未取得授权时，任务保持等待，不会下发到家庭 Ubuntu；
- 仓库不保存令牌、批准链接、密码或配对码。

## 发起申请

在新加坡仓库根目录运行：

```bash
set -a
. /etc/canger-control.env
set +a
python3 remote-node/tools/canger_persona.py \
  --requester-name "本次申请者名称" \
  --requester-id "本次申请者正式编号" \
  request-access \
  --hours 4 \
  --reason "说明本次要检查、开发或修复什么"
```

成功回执必须同时满足：

- `status` 为 `pending`；
- `requester_name` 是本次申请者名称；
- `requested_by` 是同一个申请者的正式编号；
- `duration_seconds` 与申请时长一致；
- `scopes` 和 `roots` 来自节点安全策略。

这只表示“申请已经送达”，不表示苍耳已经批准。

## 授权后创建任务

```bash
python3 remote-node/tools/canger_persona.py \
  --requester-name "与获批工单相同的名称" \
  --requester-id "与获批工单相同的正式编号" \
  task \
  --action system.status
```

在有效授权时段内，符合范围的任务会返回 `status: approved`；不符合范围或没有授权时，任务不会被家庭节点执行。

## 查看结果

```bash
python3 remote-node/tools/canger_persona.py show task_xxx
python3 remote-node/tools/canger_persona.py watch task_xxx
```

## 固定配置

节点和控制端路径登记在：

`remote-node/config/pufferfish-persona.json`

申请者身份不保存在这个固定配置里，而是每张工单明确填写。需要变更节点时先更新
胖头鱼节点注册表并重新验证心跳，不能让申请者在运行时自行替换节点。

完整操作方法与状态边界见 `WORKORDER-GUIDE.md`。
