Plugin Development Checklist
提交工程校验前逐项确认身份、权限、数据、迁移、协作、资源和失败路径。
# Identity 与 manifest
- package id 和 version 唯一且稳定
- manifest_version 为 1.0
- 没有未知字段
- entrypoint 实现 PluginRegistrar
- 每个模板、资源、事件、migration 和 data namespace 都已声明
# Capability 与依赖
- 只声明实现实际使用的 capability
- 包类型矩阵没有 DENY
- CONDITIONAL capability 有主机审批路径
- 必需依赖确实不可缺少
- 每个可选依赖都有确定性 fallback
- 版本范围使用支持的比较语法
# 运行时边界
- register() 只做声明
- 产品工作只在收到 RuntimeContext 后执行
- 只用 scoped handles
- 没有非公开 Kernel import
- 没有旧插件运行时调用
- 没有跨包私有存储访问
# 数据与迁移
- 每个可变 namespace 只有一个 owner
- 迁移 id/order/checksum 不可变
- APPLIED 迁移不会重复执行
- 失败重试只有在真实幂等时开启
- 升级使用完整、不可变 candidate
- uninstall policy 明确
# 测试与交付
- happy path 和每个 capability denial
- 依赖缺失、版本不符和 cycle
- 生命周期非法转换
- 事件 payload/result/failure/order
- 配置拒绝和日志脱敏
- 迁移 replay 与历史 checksum 变化
- 两次等价运行结果一致
- 稳定 diagnostic code 被保留