# 0716 会议 Goal 外部输入交接单

更新时间：2026-07-16 22:49（Asia/Shanghai）

本交接单只记录开发侧无法推断、且会改变真实客户可见范围或主数据事实的输入。收到资料后按本文验证，不修改 `ln-asset-management`。

## 1. 当前生产阻塞快照

| 待办 | 当前生产事实 | 缺少的权威输入 | 输入责任方 |
| --- | --- | --- | --- |
| P0-08 客户账号与演示 | 目前共 2 个账号：1 个管理员、1 个既有客户；既有客户严格四菜单并授权 1 辆车 | 秦总、蒲总各自登录名/手机号、显示名、车辆 VIN Scope、初始密码安全交付方式；可选客户/租户映射 | 业务负责人 |
| P1-02 接入资料校准 | 1,024 辆权威车辆中，101 辆仍有 `JT808 接入方未维护`，8 辆仍有 `车辆品牌未维护` | 当前终端/手机号或协议接入到 JT808 提供方的权威清单；8 辆车的品牌主数据及来源依据 | GPS 运维/厂家、资产资料责任人 |
| P1-04 OneOS 正式接口 | ECS 未配置 `ONEOS_SCOPE_SOURCE`、正式 URL、Service Token、HMAC 密钥；同步定时器未安装 | 正式内网 URL、独立 Service Token、独立 HMAC 密钥、ECS 私网源地址白名单、完整快照 | OneOS 团队 |

禁止用终端号规律、来源 IP、旧里程来源、注册报文厂商码或历史聚合值猜测当前提供方；禁止为了演示倒签车辆授权起点。

## 2. P0-08 账号输入格式

每个账号至少提供：

```text
loginName:
displayName:
vehicleVins:
passwordDeliveryMethod:
customerRef:        # 可选
tenantRef:          # 可选
```

固定菜单只能是：

```text
monitor,vehicles,tracks,statistics
```

初始密码不得写入 Git、会议纪要或本交接单，应通过独立安全渠道交付。账号建立后分别运行 `deploy/verify-customer-demo.py`，并为两个账号各选择一个对方未授权 VIN 验证越权阻断。

## 3. P1-02 提供方清单导出与导入

生产 release `canonical-provider-access-fallback-20260716224816` 内置 `deploy/import-source-providers.py`。令牌只通过临时环境变量传入，不写命令行、CSV 或日志。

先导出当前待补清单：

```bash
read -s SOURCE_PROVIDER_ADMIN_TOKEN
export SOURCE_PROVIDER_ADMIN_TOKEN

/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
  --base-url http://127.0.0.1:20300 \
  --export-missing /root/jt808-provider-gaps-20260716.csv
```

导出文件是 UTF-8 BOM CSV，适合 Excel 打开，包含：

- `vin`、`plate`；
- 不可逆的 `source_ref`；
- 脱敏终端标签；若网关只保留协议接入快照而没有独立位置来源，该列为空，仍可按车辆/协议维护提供方；
- 预期协议和当前提供方，用于防止清单处理期间来源漂移；
- 待填写的 `provider_name`、`evidence`。

GPS 运维或厂家必须为每行填写规范提供方名称和可追溯依据。依据可以是权威终端清单版本、厂家确认记录编号等，不能只写“已确认”。

导入前先只读预检：

```bash
/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
  --base-url http://127.0.0.1:20300 \
  --csv /root/jt808-provider-gaps-20260716-filled.csv
```

只有输出 `source_provider_import=ready` 后才执行：

```bash
/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
  --base-url http://127.0.0.1:20300 \
  --csv /root/jt808-provider-gaps-20260716-filled.csv \
  --apply

unset SOURCE_PROVIDER_ADMIN_TOKEN
```

工具会在任何写入前完成全表预检，并逐条复用当前启停、优先级和策略备注，只修改提供方及其独立核验依据。每次修改继续走管理员 API、乐观版本和不可变审计；单批最多 500 行。协议级融合快照只能维护提供方，前后端均禁止从快照修改终端启停、优先级或策略备注。若中途发生并发版本变化，工具立即停止，已成功项保留审计，剩余项需重新导出/预检。

品牌缺口必须先在 OneOS/资产主数据中取得正式品牌事实，再按现有主数据同步路径进入中台；不得直接猜测或覆盖已有品牌。

## 4. P1-04 OneOS 交付检查

OneOS 交付时必须同时确认：

1. 内网 URL 与路径；
2. Service Token 和 HMAC 密钥互相独立；
3. OneOS 网关只允许 ECS 指定私网源地址；
4. 时间戳窗口不超过 60 秒，request ID 防重放；
5. 分页内 `scopeVersion`、`generatedAt` 稳定且 `complete=true`；
6. 返回客户、部门、负责人、合同/项目、正式交车启用时间和机器可读隔离原因；
7. 草稿交车/还车时间不作为正式授权事实。

配置密钥后先手工执行一次影子同步，核对总数、抽样车辆、拒绝项和内容版本。验证通过前不得安装或启用两分钟同步定时器；失败时必须保持当前投影，不得退化为全量车辆。

## 5. Goal 解除阻塞的验收证据

- 两个实际客户账号分别通过四菜单、车辆集合、授权时间、轨迹、里程和对方 VIN 越权门禁；
- 接入管理中 `JT808 接入方未维护=0`、`车辆品牌未维护=0`，每次补录可追溯；
- OneOS 正式快照完成手工影子校验并启用定时同步，接口故障演练证明失败关闭；
- 业务负责人完成客户演示并确认首期交付范围。
