嵌入式全栈发布编排;release preparation、真实 publish 与 live-device flash 分权治理
Resources
3Install
npx skillscat add jiying2007/agent-dev-kit/adk-embedded-release-orchestration Install via the SkillsCat registry.
SKILL.md
adk-embedded-release-orchestration
Goal
- 把嵌入式发布升级为跨构建、打包、校验、交付、产线和回滚的可审计流程。
- 让
prepare、publish、flash/deploy成为不同 authority domain,避免一条发布指令隐式跨越外部系统和真实设备边界。
Prerequisites
- 已确认发布源仓、版本、制品、发布受众、release target 和设备族 identity。
- 已明确本轮最多允许
prepare | publish | flash/deploy中哪些 operation;未声明时仅允许 prepare/dry-run。 - 已明确 manifest、checksum、release notes、rollback/recovery 和 HIL/产测证据要求。
Workflow
- 发布图:列出 source→build→package→verify→stage→publish→device-deploy 节点,并标每个节点 owner/authority。
- 制品 identity:记录路径、版本、SHA-256、manifest、依赖、目标设备族和受众。
- prepare gate:完成 source sync、clean/no-clean decision、build、package、check、HIL/field evidence lookup、publish dry-run;此阶段不产生真实外部发布或设备写入。
- 非覆盖策略:stage first;已存在版本目录、tag、bundle 或目标路径默认 fail-closed,除非独立 overwrite policy 明确授权。
- publish escalation:真实 NAS/registry/release target 发布前必须冻结 destination identity、artifact digest、explicit authorization、rollback/withdraw path 和 post-publish verification。
- device escalation:真实 flash/OTA/deploy 前必须另行冻结 device/board identity、分区/region、explicit authorization、recovery image/path 和 post-write verification;publish 授权不能复用为 device authorization。
- 凭证边界:NAS、签名、证书、registry、SSH 和设备凭证只由运行环境注入,不写入 skill/docs/memory/log。
- 产线交接:guide 面向测试/生产/现场人员,明确允许的 artifact、设备范围、失败停止条件和恢复入口。
- 证据收口:分别记录 prepare、publish、flash/deploy 的 actor、命令、exit code、artifact digest、target identity 与结果。
Commands
rtk rg -n "build|package|ota|firmware|release|checksum|manifest|publish|tag" <repo>
rtk git status --short
<build-command>
<package-command> --dry-run
<check-command>
<publish-command> --dry-run
# 以下不属于默认 release-preparation authority:
# <publish-command> <explicit-destination>
# <flash-or-deploy-command> <explicit-device-id> <artifact>Evidence Template
- Status: pass | needs-fix | blocked
- Versions / Source Identity:
- Release Graph:
- Artifact Manifest + SHA-256:
- Preparation Checks: build / package / check / HIL / publish_dry_run
- Publish Escalation:
- required / target_identity / actor / explicit_authorization / rollback_or_withdraw / post_publish_verification
- Device Escalation:
- required / target_identity / partition_or_region / actor / explicit_authorization / recovery / post_write_verification
- Credential Boundary:
- Remaining Risks:Failure Handling
- prepare 失败时不得继续 publish/flash。
- destination identity、artifact digest 或授权不一致时停止真实 publish。
- device identity、分区、recovery 或写后验证任一缺失时停止 flash/deploy。
- 外部发布成功但验证失败时执行 withdraw/rollback;设备写失败时进入预定义 recovery,不继续批量推进。
Quality Gate
- 发布前必须有 manifest、checksum、artifact identity 和版本证据。
release-preparation只允许生成/检查/stage/dry-run,不等价于真实 publish 或 live-device write。- publish 与 device mutation 必须是两份独立授权证据,不能由同一宽泛“发布批准”隐式覆盖。
- 缺少 HIL/真实板级验证时不得声称设备放行;不得自动覆盖既有发布物、tag、生产目录或设备分区。