Files
firmware-lowlevel-development/skills/firmware-lowlevel-psp-development/references/etunel-handoff.md
T

51 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PSP Etunel 交接
仅在当前 Hook、Etunel 角色契约和入站任务确认本会话是嵌入式底层角色时执行正式交接。成员结果只交给 Hub;不直接向应用层 AI 派任务或索取结论。没有有效 WORK_ID、SUBTASK_ID 或工具时只生成 handoff 文件并标记“尚未正式发送”。
## packaged candidate 交接
底层自检、固定组包和负责人确认完成后,依次处理:
1. 展示远端、分支和 candidate commit,取得 Git 上传确认;
2. push 后由 `render_psp_handoff.py --verify-remote` 使用只读 `git ls-remote` 验证团队共享地址的 heads/tags 能取得精确完整 commit;验证失败、超时或只有本地路径时不能形成 Etunel 交接;
3. 生成并展示 Etunel handoff,取得独立发送确认;
4. 向 Hub 提交本角色正式结果,由 Hub 给应用层创建集成任务。
交接至少包含:
- WORK_ID、SUBTASK_ID、阶段、波次和嵌入式底层主责;
- 项目、芯片、硬件/系统形态;
- PSP 共享仓库地址、完整 commit 和 candidate/packaged 状态;
- 参考 PSP 及来源版本;
- BSP handoff、BSP commit/build ID、Media/AIPlugin 基线;
- 烧录包绝对路径/hash;
- 静态检查、打包、设备和应用验证的真实状态/证据;
- 未执行项、警告、例外、依赖和剩余风险;
- 应用集成步骤及必须检查的项目;
- `self_check_result`、`internal_approved`、确认负责人/时间/范围/条件。
Git 地址和 SHA 是交付主体;Etunel 引用 PSP 内的 `psp.json`、`metadata/bsp.lock.json` 和精简适配结果。`--for-etunel` 只接受 `packaged` 或 `accepted`,还必须有与当前 URL/SHA 一致且通过的远端可达性证据。不要重复传输仓库、BSP IMG、大模型和公共库。
## 应用集成
Hub 交给应用层的任务至少要求:
- 在应用 `psp/` submodule 获取完整 PSP SHA;
- 生成应用侧 `psp.lock.json` 并检查 gitlink/HEAD/lock 一致;
- 完成应用编译和完整固件打包;
- 验证 BSP、Media 库、模型按配置找到并复制;
- 检查 PSP 覆盖清单;
- 返回应用 commit、PSP commit、命令、结果、证据和负责人确认。
PSP 可以在 packaged 后交付,设备验证与应用集成并行。两条证据必须对应同一 PSP commit,之后 Hub 创建独立 PSP 验收收尾任务。底层负责人确认并取得用户发布确认后,才创建/push accepted tag。
应用长期未完成时,原底层实现任务可以以 device_verified 或 packaged 的真实状态结束,PSP 不提前 accepted;收到应用结果后另建收尾任务。
## 问题返工
应用层经 Hub 返回问题,输入应包含 PSP SHA、应用仓库/commit、芯片/板卡、BSP build、复现步骤、期望/实际、日志、涉及配置、阻塞影响和应用负责人确认状态。
Hub 创建新的嵌入式底层 SUBTASK_ID。PSP 在职责内修正并产生新 candidate;旧 commit 和证据保留。问题属于 BSP/DTS/驱动/内存、应用业务、硬件、公共 Media/AIPlugin 或测试环境时,只提供事实、证据和归属建议,由 Hub 路由,不越界修复。
已经 accepted 的缺陷按[项目与 Git 规则](project-and-git.md)创建 revoked 状态、通知已知引用方,并为修复重新走完整流程。Git/Etunel 发送和状态发布分别确认。