# 工程债：lewan 拆分、默认角色、短链

## 命名约定

| 叫法 | 用途 |
| --- | --- |
| lewan / kuaishou-lewan | 业务/文案 |
| `kuaishou_ct_assisted` | `executor_key` |
| `kuaishou-cloud/` | 履约领域模块路径 |
| `cloudtentacles` | 外部发货平台 API |

## lewan 模块拆分（已做）

```text
kuaishou-cloud/
  index.ts                 # barrel 导出
  prepare-fulfillment.ts   # prepare + 刷新 bindUrl
  rebind-role.ts
  probe-bind-url.ts
  refresh-role-info.ts
  role-state.ts            # 默认角色快照 + ready 状态（UID 主闸）
  delivery-plan.ts
  ensure-claim-link.ts
  dispatch-role-sync.ts
  redeem-fulfillment.ts    # 一键兑换用例
  confirm-role.ts          # 确认角色用例
  dispatch-fulfillment.ts  # 发货编排
  dispatch-stock.ts        # 库存/采购/下发
  dispatch-failure.ts      # 发货失败落库
  return-fulfillment.ts    # 退号 + 电子凭证核销收尾
  mock-helpers.ts
  task-finalization.ts     # 兼容 re-export
  domain.ts

executors/
  kuaishou-cloud-executor  # preparePaid + prepareBinding + rebind/refresh/confirm + redeem + dispatch + return
  registry                 # prepare/rebind/refresh/confirm/redeem/dispatch/return 统一入口
```

对外 import 路径仍为 `.../kuaishou-cloud/index.js`。  
claim / admin 应优先走 `executors/registry`，不要直连子模块动作。

## 默认角色

- 主闸：`claimIdentity.expectedUid` 与绑定 `rid` 一致。
- `isDefaultRole` 仅诊断文案；有角色信息即 `ready` 并落库 rid。
- `hasKuaishouCloudCustomerRole` 改为「是否已有绑定角色」，不再要求不同于默认角色。

## 短链

- `/s/:code` **只读解析**历史链接。
- feifei claim **不再**依赖 shortLink 交付；若仍调用 `ensureShortLinkForTarget` 且 source 为 feifei claim，会打 warn。
- 新业务：本站 claimUrl + H5 拼 `uid`。
